私はクラスターに接続された Linux マシンで作業しています。top
ターミナルで実行すると、多数の (~200) スリープ プロセスが表示されます。おそらく、これらのプロセスに対して不適切に - を実行したために発生したものと思われますCtrl+C
。
どの睡眠関連の仕事が安全かを知るにはどうすればいいですかkill
?
編集:プロセスは で確認できますps -e S
。問題はおそらく、出力を理解していないことです。例:
24086 pts/0 Ss+ 11971:50 -tcsh
24084 ? S 0:00 (sd-pam)
22183 ? Sl 10:08 /usr/bin/gedit --gapplication-service
4790 ? S 0:00 [kworker/u16:2]
1043 tty7 Ssl+ 91:14 /usr/sbin/brld --nodaemon
他にもたくさんあります。それらを終了しても、自分のマシンや他のユーザーのログインしたジョブに問題が起こらないことをどうやって確認すればよいのでしょうか?
答え1
スリープ状態のプロセスを確認するために top を確認する代わりに、ps -ef | grep <process name>
top からプロセスを取得しようとする代わりに を実行する方がよい場合があります。 この方法では、プロセスを強制終了するために必要な を取得できますpid
。 top のスリープ状態のプロセスの多くは、通常、システム プロセスです。
例:
[thebtm@localhost thebtm]# ps -ef | grep httpd
root 1257 1 0 Mar28 ? 00:00:51 /usr/sbin/httpd -DFOREGROUND
root 2920 10825 0 08:35 pts/3 00:00:00 grep --color=auto httpd
apache 16936 1257 0 Apr10 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 16937 1257 0 Apr10 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 16939 1257 0 Apr10 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 16940 1257 0 Apr10 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 20857 1257 0 Apr10 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 20858 1257 0 Apr10 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 20859 1257 0 Apr10 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 20860 1257 0 Apr10 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 21040 1257 0 Apr10 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 21041 1257 0 Apr10 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
[thebtm@localhost thebtm]# kill 16936