Kiedy uruchamiam Zotero / Firefox, często ulegają awariom i mam proces zombie; po tym nie mogę otworzyć nowych instancji Zotero lub Firefox. Chcę raczej pozbyć się tych procesów zombie niż restartować, więc dla <pid>
procesu zombie,
$ ps -p <pid> -o ppid=
daje mi <parent_pid>
i
ps aux | awk -v PID=<parent_pid> '$2 == PID {print $0}'
mówi mi, że proces nadrzędny jest /sbin/launchd
dla użytkownika crippledlambda
.
Czy istnieje sposób na ponowne uruchomienie bez zabijania mojego systemu?
sudo kill -1 <parent_pid>
nic nie robi. Próbowałem napisać to w skrypcie i uruchomić za pomocą sudo
:
for i in `launchctl list | grep launchd | awk -v PID=<parent_pid> '$1==PID { print $NF }'`; do `launchctl stop $i && launchctl start $i` ; done
i to oczywiście (?) pozostawia mi nieaktywny szary ekran, więc i tak muszę zrestartować komputer. Z góry dziękuję za sugestie.
launchd
zawsze powinien natychmiast odczytać status wyjścia swoich dzieci. Jeśli to nie są naprawdę zombie, powinieneś je zabijać. W obu przypadkach zabijanie launchd
spowoduje więcej problemów niż rozwiązuje.