簡単に
& で そして disown プロセスの PID は変更しません。
ps -p <YOURPID> に表示されない場合 出力、もう実行されていません。
オーバーチェックできます echo $? を追加して ps の後 (または kill ) コマンド、プログラムが 0 とは異なる終了コードで終了するかどうかを確認します (通常は 1 ).
命令を理解する
-
背景 :最後の
&でコマンドを起動したとき バックグラウンドで送信します。
これは次のことを意味します:- シェルのジョブ リストに存在します (例では
[1]という数字です)%1として参照できます; (コマンドjobsを試してください ). fgでフォアグラウンドとバックグラウンドに表示できます とbg.-
(まだ) "所有" です (親にリンクされた) シェルによる:シェルが
SIGHUPを受け取った場合SIGHUPを送信します プロセスにもシグナルを送ります。$ sleep 1h & [1] 10795 $ jobs [1]+ running sleep 1h & $ ps -l -p 10795 F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 0 S 1000 10795 8380 0 80 0 - 3107 hrtime pts/57 00:00:00 sleep
- シェルのジョブ リストに存在します (例では
-
勘当 :コマンド
disownで シェルのジョブ リストからジョブを削除しますが、その PID は変更しません。$ disown $ jobs # <---- No jobs $ ps -l -p 10795 F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 0 S 1000 10795 8380 0 80 0 - 3107 hrtime pts/57 00:00:00同じ PPID に注意してください (シェルはまだ存在します)。
次に、シェルを殺します。$ kill 8380 # Here we kill the shell $ ps -l -p 10795 F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 0 S 1000 10795 5339 0 80 0 - 3107 hrtime pts/57 00:00:00 sleep別の
PPIDがあります 、5339、psの別の呼び出しで 、ps -p 5339、initであることがわかります インスタンス:$ ps -p 5339 PID TTY TIME CMD 5339 ? 00:02:20 init
pstree :より迅速な方法です。
pstree で確認できます
disown の前 そしてバッシュを殺す コマンド:
$ pstree -s -p 10795
init(1)───lightdm(1199)───lightdm(5259)───bash(8380)───sleep(10795)
disown の後 そしてバッシュを殺す :
$ pstree -s -p 10795
init(1)───lightdm(1199)───lightdm(5259)───init(5339)───sleep(10795)
注: もちろん、あなたの場合のすべての PID は異なります...
ps auxf にない場合 、実行されていません。 kill 29144 を実行した場合 これは、プロセスが実行されていないことも意味します。
各プロセスには、/proc にフォルダーがあります。 pid のファイルシステム .フォルダーが存在しない場合、プロセスは実行されていません。
例えば
/proc/29144/
プロセス commandline を表示できます
cat /proc/29144/cmdline
出力例:
/usr/sbin/smbd
またはプロセスファイルのステータスを確認してください
stat /proc/29144/exe
出力例:
File: /proc/29144/exe -> /usr/sbin/smbd
Size: 0 Blocks: 0 IO Block: 1024 symbolic link
Device: 3h/3d Inode: 78497 Links: 1
Access: (0777/lrwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2017-04-07 12:18:01.719011505 +0200
Modify: 2017-04-07 12:18:01.369010535 +0200
Change: 2017-04-07 12:18:01.369010535 +0200
Birth: -