Если управляющий терминал отвалился к примеру. Запустил я что-то, затем fork()
нул и закрыл эмулятор терминала. Дочка демонизирована от слова совсем.
Водно что пайп умер
dron@gnu:~$ strace -p 382320
strace: Process 382320 attached
restart_syscall(<... resuming interrupted read ...>) = 0
pipe2([3, 4], O_CLOEXEC) = 0
prlimit64(0, RLIMIT_NOFILE, NULL, {rlim_cur=1024,
rlim_max=1024*1024}) = 0
prlimit64(0, RLIMIT_NOFILE, NULL, {rlim_cur=1024,
rlim_max=1024*1024}) = 0
mmap(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7fa450de8000
rt_sigprocmask(SIG_BLOCK, ~[], [], 8) = 0
clone(child_stack=0x7fa450df0ff0, flags=CLONE_VM|CLONE_VFORK|SIGCHLD) = 464441
munmap(0x7fa450de8000, 36864) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
close(4) = 0
fcntl(3, F_SETFD, 0) = 0
fstat(3, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0
read(3, "wlan0: \320\277\320\276\320\264\320\272\320\273\321\216\321\207\320\265\320\275\320\276 to H"..., 4096) = 39
getpid() = 382320
#ота собсна
write(1, "ok 382320\n", 10) = -1 EIO (Ошибка ввода/вывода)
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=464441, si_uid=1000, si_status=0, si_utime=0, si_stime=0} ---
close(3) = 0
wait4(464441, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 464441
nanosleep({tv_sec=1, tv_nsec=0}, ^Cstrace: Process 382320 detached
<detached ...>
dron@gnu:~$
Как наладить с этой артисткой добрые отношения ввода вывода?
Да знааааю я надо сразу вывод перенаправить хоть изнутря в файл хоть с наружи. Но всё же ::)