Wydaje mi się, że nie jestem w stanie zabić -9 procesu, który jest w stanie przerywanego snu (S):
[root@jupiter ~]# ps -elf | grep yum
4 S root 16790 1 0 75 0 - 73779 - Jan15 ? 00:00:04 /usr/bin/python /usr/bin/yum -y install python-pip
[root@jupiter ~]# kill -9 16790
[root@jupiter ~]# ps -elf | grep yum
4 S root 16790 1 0 75 0 - 73779 - Jan15 ? 00:00:04 /usr/bin/python /usr/bin/yum -y install python-pip
Jak to jest możliwe? Czy jest jakiś sposób, aby zabić proces bez ponownego uruchamiania?
BOUNTY: Naprawdę bardziej interesuje mnie wyjaśnienie, jak to możliwe.
AKTUALIZACJA: To jest wynik lsof:
[root @ jupiter ~] # lsof -p 16790 POLECENIE PID UŻYTKOWNIK TYP FD ROZMIAR URZĄDZENIA / WYŁĄCZ NAZWA NAZWY mnisz 16790 root cwd DIR 1166,56842 4096 16886249 / home / del mnisz 16790 root rtd DIR 253,0 4096 2 / mnisz 16790 root txt REG 253,0 8304 336177337 / usr / bin / python mnisz 16790 root mem REG 253,0 144776 346128569 /lib64/ld-2.5.so mniam 16790 root mem REG 253,0 1718232 346128573 /lib64/libc-2.5.so mniam 16790 root mem REG 253,0 23360 346128599 /lib64/libdl-2.5.so mnisz 16790 root mem REG 253,0 145872 346128584 /lib64/libpthread-2.5.so mnisz 16790 mem root REG 253,0 615136 346128602 /lib64/libm-2.5.so mnisz 16790 root mem REG 253,0 1244792 336171087 /usr/lib64/libpython2.4.so.1.0 mniam 16790 root mem REG 253,0 95464 346128744 /lib64/libselinux.so.1 mnisz 16790 root mem REG 253,0 53448 346128750 /lib64/librt-2.5.so mniam 16790 root mem REG 253,0 13960 336187564 /usr/lib64/libplds4.so mnisz 16790 root mem REG 253,0 58400 346128752 /lib64/libgcc_s-4.1.2-20080825.so.1 mniam 16790 root mem REG 253,0 78384 336173796 /usr/lib64/libelf-0.137.so mniam 16790 root mem REG 253,0 1139672 336187570 /usr/lib64/librpmdb-4.4.so mniszę 16790 root mem REG 253,0 407792 336187568 /usr/lib64/librpmio-4.4.so mniam 16790 root mem REG 253,0 233144 336171420 /usr/lib64/libnspr4.so mnisz 16790 korzeń mem REG 253,0 375656 336187569 /usr/lib64/libsqlite3.so.0.8.6 mniam 16790 root mem REG 253,0 17992 336187563 /usr/lib64/libplc4.so mniszę 16790 root mem REG 253,0 386784 336187571 /usr/lib64/librpm-4.4.so mniszę 16790 mem root REG 253,0 154776 336170228 /usr/lib64/librpmbuild-4.4.so mnisz 16790 root mem REG 253,0 647608 346128759 /lib64/libglib-2.0.so.0.1200.3 mniszę 16790 root mem REG 253,0 1297136 336176959 /usr/lib64/libxml2.so.2.6.26 mnisz 16790 root mem REG 253,0 15584 346128756 /lib64/libtermcap.so.2.0.8 mniam 16790 root mem REG 253,0 1234328 336187566 /usr/lib64/libnss3.so mniszę 16790 root mem REG 253,0 18152 346128670 /lib64/libutil-2.5.so mnisz 16790 root mem REG 253,0 34240 336177071 /usr/lib64/libpopt.so.0.0.0 mnisz 16790 root mem REG 253,0 67792 336187567 /usr/lib64/libbz2.so.1.0.3 mnisz 16790 mem root REG 253,0 143144 346128763 /lib64/libexpat.so.0.5.0 mnisz 16790 root mem REG 253,0 56434416 336184082 / usr / lib / locale / locale-archive mnisz 16790 root mem REG 253,0 132656 336560181 /usr/lib64/python2.4/site-packages/rpm/_rpmmodule.so mniam 16790 root mem REG 253,0 154016 336187565 /usr/lib64/libnssutil3.so mnisz 16790 root mem REG 253,0 96885 345638632 /usr/local/greenplum-loaders-3.3.0.0-build-3/lib/libz.so.1.2.3 mnisz 16790 korzeń mem REG 253,0 247496 346128741 /lib64/libsepol.so.1 mnisz 16790 root mem REG 253,0 369144 336168883 /usr/lib64/libsoftokn3.so mniam 16790 root mem REG 253,0 312336 336178453 /usr/lib64/libfreebl3.so mniam 16790 root mem REG 253,0 20240 336530067 /usr/lib64/python2.4/lib-dynload/timemodule.so mniam 16790 root mem REG 253,0 25048 336529953 /usr/lib64/python2.4/lib-dynload/stropmodule.so mnisz 16790 root mem REG 253,0 18984 336530051 /usr/lib64/python2.4/lib-dynload/cStringIO.so mniam 16790 root mem REG 253,0 21816 336529943 /usr/lib64/python2.4/lib-dynload/collectionsmodule.so mniam 16790 root mem REG 253,0 52152 336530044 /usr/lib64/python2.4/lib-dynload/_socketmodule.so mniam 16790 root mem REG 253,0 17200 336530045 /usr/lib64/python2.4/lib-dynload/_ssl.so mnisz 16790 mem mem root REG 253,0 315080 346128749 /lib64/libssl.so.0.9.8e mniam 16790 root mem REG 253,0 1366912 346128748 /lib64/libcrypto.so.0.9.8e mnisz 16790 root mem REG 253,0 190976 336187552 /usr/lib64/libgssapi_krb5.so.2.2 mniszę 16790 root mem REG 253,0 613928 336184245 /usr/lib64/libkrb5.so.3.3 mnisz 16790 root mem REG 253,0 11760 346128747 /lib64/libcom_err.so.2.1 mniam 16790 root mem REG 253,0 153720 336181723 /usr/lib64/libk5crypto.so.3.1 mnisz 16790 root mem REG 253,0 35984 336177832 /usr/lib64/libkrb5support.so.0.1 mnisz 16790 root mem REG 253,0 9472 346128681 /lib64/libkeyutils-1.2.so mnisz 16790 root mem REG 253,0 92816 346128730 /lib64/libresolv-2.5.so mnisz 16790 root mem REG 253,0 75384 336530050 /usr/lib64/python2.4/lib-dynload/cPickle.so mnisz 16790 root mem REG 253,0 23736 336530064 /usr/lib64/python2.4/lib-dynload/structmodule.so mnisz 16790 root mem REG 253,0 27336 336528958 /usr/lib64/python2.4/lib-dynload/operator.so mnisz 16790 root mem REG 253,0 21520 336529958 /usr/lib64/python2.4/lib-dynload/zlibmodule.so mniam 16790 root mem REG 253,0 37944 336528952 /usr/lib64/python2.4/lib-dynload/itertoolsmodule.so mniam 16790 root mem REG 253,0 21528 336528929 /usr/lib64/python2.4/lib-dynload/_localemodule.so mniszę 16790 root mem REG 253,0 21208 336529939 /usr/lib64/python2.4/lib-dynload/binascii.so mnisz 16790 root mem REG 253,0 12080 336530062 /usr/lib64/python2.4/lib-dynload/shamodule.so mniam 16790 root mem REG 253,0 13168 336530058 /usr/lib64/python2.4/lib-dynload/md5module.so mnisz 16790 root mem REG 253,0 18000 336529947 /usr/lib64/python2.4/lib-dynload/mathmodule.so mnisz 16790 root mem REG 253,0 12504 336529934 /usr/lib64/python2.4/lib-dynload/_randommodule.so mnisz 16790 root mem REG 253,0 15320 336528948 /usr/lib64/python2.4/lib-dynload/fcntlmodule.so mnisz 16790 root mem REG 253,0 32816 336530049 /usr/lib64/python2.4/lib-dynload/bz2.so mnisz 16790 root mem REG 253,0 8608 336529946 /usr/lib64/python2.4/lib-dynload/grpmodule.so mnisz 16790 root mem REG 253,0 38696 336529819 /usr/lib64/python2.4/site-packages/cElementTree.so mniam 16790 root mem REG 253,0 42672 336530047 /usr/lib64/python2.4/lib-dynload/arraymodule.so mnisz 16790 root mem REG 253,0 9368 336528915 /usr/lib64/python2.4/lib-dynload/_bisect.so mniam 16790 root mem REG 253,0 74992 336529944 /usr/lib64/python2.4/lib-dynload/datetime.so mniam 16790 root mem REG 253,0 372912 336560510 /usr/lib64/python2.4/site-packages/M2Crypto/__m2crypto.so mniam 16790 root mem REG 253,0 7120 336529937 /usr/lib64/python2.4/lib-dynload/_weakref.so mnisz 16790 root mem REG 253,0 17496 336528966 /usr/lib64/python2.4/lib-dynload/selectmodule.so mniam 16790 root mem REG 253,0 46448 336528961 /usr/lib64/python2.4/lib-dynload/pyexpat.so mnisz 16790 root mem REG 253,0 33896 336529820 /usr/lib64/python2.4/site-packages/_sqlite.so mniam 16790 root mem REG 253,0 41784 336530075 /usr/lib64/python2.4/site-packages/_sqlitecache.so mniam 16790 root mem REG 253,0 25104 336530066 /usr/lib64/python2.4/lib-dynload/termios.so mniam 16790 root mem REG 253,0 7280 336530065 /usr/lib64/python2.4/lib-dynload/syslog.so mnisz 16790 root mem REG 253,0 25464 336265457 /usr/lib64/gconv/gconv-modules.cache mniam 16790 root mem REG 253,0 66544 336528926 /usr/lib64/python2.4/lib-dynload/_cursesmodule.so mnisz 16790 root mem REG 253,0 380336 336181932 /usr/lib64/libncurses.so.5.5 mniam 16790 root mem REG 253,0 405880 336529957 /usr/lib64/python2.4/lib-dynload/unicodedata.so mnisz 16790 root mem REG 253,0 24576 236520047 /var/lib/rpm/__db.001 mnisz 16790 root mem REG 253,0 53880 346128424 /lib64/libnss_files-2.5.so mniam 16790 root mem REG 253,0 23736 346128408 /lib64/libnss_dns-2.5.so mnisz 16790 root mem REG 253,0 1318912 236520050 /var/lib/rpm/__db.002 mnisz 16790 root mem REG 253,0 663552 236520051 /var/lib/rpm/__db.003 mnisz 16790 root mem REG 253,0 769074 336174965 /usr/share/locale/en_US/LC_MESSAGES/redhat-dist.mo mnisz 16790 korzeń 0u CHR 136,8 0t0 10 / dev / pts / 8 (usunięty) mnisz 16790 korzeń 1u CHR 136,8 0t0 10 / dev / pts / 8 (usunięty) mnisz 16790 korzeń 2u CHR 136,8 0t0 10 / dev / pts / 8 (usunięty) mniam 16790 root 3u unix 0xffff8104388d2e40 0t0 4675113 gniazdo mnisz 16790 root 4w REG 253,0 0 236522326 /var/log/yum.log mnisz 16790 root 5u REG 253,0 605184 236520025 /var/cache/yum/WANdisco-dev/primary.xml.gz.sqlite mnisz 16790 root 6u REG 253,0 20480 236524002 /var/cache/yum/addons/primary.sqlite.old.tmp (usunięty) mnisz 16790 root 7u REG 253,0 12578816 236519970 /var/cache/yum/base/primary.xml.gz.sqlite.old.tmp (usunięty) mnisz 16790 korzeń 8u REG 253,0 17972224 236523993 /var/cache/yum/epel/317109b44f1b0b40d910dc60c9080e62c7f4b16a-primary.sqlite.old.tmp (usunięty) mnisz 16790 root 9u REG 253,0 967680 236524055 /var/cache/yum/extras/primary.sqlite.old.tmp (usunięty) mnisz 16790 root 10u REG 253,0 459776 246415366 /var/cache/yum/pgdg92/primary.sqlite.old.tmp (usunięty) mnisz 16790 root 11u REG 253,0 4927488 236524060 /var/cache/yum/updates/primary.sqlite.old.tmp (usunięty) mniam 16790 korzeń 12r REG 253,0 65204224 236519434 / var / lib / rpm / Pakiety mnisz 16790 root 13r REG 253,0 45056 236519438 / var / lib / rpm / Name mniam 16790 root 14u IPv4 4675317 0t0 TCP jupiter.example.com:33597->riksun.riken.go.jp:http (ESTABLISHED) mniam 16790 root 15u IPv4 4675939 0t0 TCP jupiter.example.com:52708->freedom.itsc.cuhk.edu.hk:http (CLOSE_WAIT) mniam 16790 root 16r REG 253,0 65204224 236519434 / var / lib / rpm / Packages mnisz 16790 root 17r REG 253,0 45056 236519438 / var / lib / rpm / Name mnisz 16790 korzeń 18r REG 253,0 12288 236519440 / var / lib / rpm / Pubkeys mniam 16790 korzeń 20r FIFO 0,6 0t0 4676024 rura mniam 16790 rura 24w FIFO 0,6 0t0 4676024 rura
Odpowiedzi:
Proces w stanie S lub D zwykle znajduje się w blokującym wywołaniu systemowym, takim jak odczyt lub zapis do pliku lub sieci, oczekiwanie na zakończenie wywoływanego programu lub oczekiwanie na semafory lub inne operacje podstawowe synchronizacji. Przejdzie w stan uśpienia podczas oczekiwania.
Nie możesz „obudzić” - nastąpi to tylko wtedy, gdy dane / zasób, na który czeka, stają się dostępne. To wszystko jest normalne i oczekiwane, i tylko problem przy próbie zabicia go.
Możesz spróbować użyć,
strace -p pid
aby dowiedzieć się, jakie jest obecnie wywołanie systemowe dla procesu pid.Z wikipedii :
Proces zablokowany w wywołaniu systemowym znajduje się w nieprzerwanym trybie uśpienia, który, jak sama nazwa wskazuje, jest naprawdę nieprzerwany nawet przez rootowanie.
Zwykle procesy nie mogą blokować SIGKILL. Ale kod jądra może i procesy wykonują kod jądra, gdy wywołują wywołania systemowe, podczas których kod jądra blokuje wszystkie sygnały. Więc jeśli systemowe wywołanie blokuje się na czas nieokreślony, może nie być skutecznie zabić procesu. SIGKILL zacznie obowiązywać tylko wtedy, gdy proces zakończy wywołanie systemowe.
źródło
Tło na temat procesu spania
Możesz rzucić okiem na ten post w systemach Unix i Linux.
W szczególności ta odpowiedź /unix//a/5648/7453 .
Fragment tego postu
Gorąco polecam przeczytanie reszty tej odpowiedzi!
Zabicie procesu zablokowanego przez zasób (plik lub sieć)
Oto 2 rzeczy do wypróbowania.
1. Usuwanie pliku .pid mniszka
Czy jest obecny plik blokady yum? Co się stanie, gdy usuniesz ten plik blokady? Myślę, że to może pozwolić na kontynuację.
2. Wymuszenie
CLOSE_WAIT
zamknięcia wszystkich zawieszonych połączeń TCPA
CLOSE_WAIT
opisano w następujący sposób:UWAGA: Fragment strony internetowej technet .
Istnieją dwa narzędzia, których możesz użyć, aby to osiągnąć.
Narzędzia te działają poprzez symulację wymiany FIN-ACK-RST, która jest niezbędna do całkowitego zamknięcia połączenia TCP.
UWAGA: Fragment strony internetowej Killcx .
Za pomocą noża
Przerywa określone połączenie między dwiema podanymi parami numerów IP / portu.
Korzystanie z Killcx
Zrywa połączenia ze zdalnym ip i portem.
Zasoby
źródło
Możesz spróbować zabić proces nadrzędny. Użyj ps, aby sprawdzić:
Następnie
kill -9
wszelkie procesy nadrzędne.źródło
Warto przyłączyć się do procesu za pomocą strace, aby sprawdzić, czy jest on naprawdę bezczynny lub utknął w operacji IO. Może może dostarczyć dalszych wskazówek w tej kwestii.
strace -pPID
Z tego, co przeczytałem, nie ma innego sposobu na zabicie tego procesu niż ponowne uruchomienie. Jeśli proces nie zużywa zauważalnego czasu procesora, jest mało prawdopodobne, aby wywarł jakikolwiek negatywny wpływ na serwer.
źródło
Czy to możliwe, że czeka na proces potomny? Uwielbiam,
ps faux
bo powie ci, czy są procesy potomne, a jeśli tak, to być może będziesz musiał zabić.źródło