簡単に
&
で そして 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: -