Я не знаю, почему Вы пытаетесь сделать это, но необходимо быть в состоянии присоединить к процессу с помощью gdb и затем звонить близко () на fd. Пример:
В одной оболочке: кошка
В другой оболочке:
$pidof cat
7213
$gdb -p 7213
...
lots of output
...
(gdb)
Теперь Вы говорите gdb выполняться близко (0):
(gdb) p close(0)
$1 = 0
(gdb) c
Continuing.
Program exited with code 01.
(gdb)
В первой оболочке я получаю этот вывод:
cat: -: Bad file descriptor
cat: closing standard input: Bad file descriptor
// If you dont want to use a sub query, I would suggest:
var result = (
from f in foos
from s in f.MyStrings
select s).Distinct();
// Which is absoulutely equivalent to:
var theSameThing = foos.SelectMany(i => i.MyStrings).Distinct();
// pick the one you think is more readable.
Я также настоятельно рекомендую прочитать MSDN о методах расширения Enumerable. Он очень информативен и содержит отличные примеры!