kazmax - Linux で自宅サーバー

プロセスを停止する(kill、killall、Ctrl+z)

プロセスを停止させる手順について説明します。

プロセスを停止させるには、killコマンド、killallコマンド、Ctrl+zを使います。

Last Update : 2014年02月25日

プロセスを停止する(kill、killall、Ctrl+Z)項目

  1. kill、killall コマンドでプロセスを停止する
  2. Ctrl+z でプロセスを停止する

1. kill、killall コマンドでプロセスを停止する

kill、killall コマンドを使ってプロセスを停止することができます。対象のプロセスにSTOP、または、SIGSTOPシグナルを送ることでプロセスが停止します。

例)kill、killall でプロセス停止

ターミナルA

# date
2014年  2月 25日 火曜日 08:28:08 JST ← コマンド開始時間
# sleep 60 ← 60秒待機するコマンド実行


ターミナルB

# ps -ef | grep sleep
root 28898 28799  0 08:28 pts/0 00:00:00 sleep 60 ← sleepコマンドのPID = 28898を確認

プロセスを停止する
# kill -STOP 28898 

memo

killall コマンドを使う場合は以下のようにする

# killall -SIGSTOP sleep

killコマンド、killallコマンドに指定するシグナル部分は、「-STOP 」でも「-SIGSTOP 」でも「-19 」でもOK。


ターミナルA

# sleep 60
[1]+  停止    sleep 60 ← 「停止」という表示が出力されプロセスが停止する


ターミナルB

# date
2014年  2月 25日 火曜日 08:31:40 JST  ← 1分以上たっている事を確認

# ps -ef | grep sleep
root  28898 28799  0 08:28 pts/0  00:00:00 sleep 60 ← 同じPIDでプロセスがまだ存在する

2. Ctrl+z でプロセスを停止する

現在のターミナルで実行中のプロセスは、「Ctrl+z」で停止することもできます。

例)「Ctrl+z」でプロセス停止

# sleep 60 ← 60秒待機するコマンド実行

この状態で、「Ctrl+z」を押す

# sleep 60
^Z ← 「Ctrl+z」を押した
[1]+  停止    sleep 60 ← プロセスが停止した

プロセス管理 関連記事
Linux 基礎知識 関連記事