telnet
プロセスを誤って「停止」しました。これで「元に戻す」こともできず、強制終了することもできません(kill 92929
には応答しません。92929はプロセスIDです)。
ですから、私の質問は、Linuxコマンドラインでプロセスが停止している場合、kill -9
に頼らずに、どのようにしてプロセスに切り替えるか、強制終了するかです。
最も簡単な方法は、 fg
を実行してフォアグラウンドにすることです。
$ help fg
fg: fg [job_spec]
Move job to the foreground.
Place the job identified by JOB_SPEC in the foreground, making it the
current job. If JOB_SPEC is not present, the Shell's notion of the
current job is used.
Exit Status:
Status of command placed in foreground, or failure if an error occurs.
または、 bg
を実行して、バックグラウンドで続行することもできます。
$ help bg
bg: bg [job_spec ...]
Move jobs to the background.
Place the jobs identified by each JOB_SPEC in the background, as if they
had been started with `&'. If JOB_SPEC is not present, the Shell's notion
of the current job is used.
Exit Status:
Returns success unless job control is not enabled or an error occurs.
たった今 CtrlZ次に、ジョブを元に戻すには、引数なしでfg
を実行します。
jobs
を使用して、中断されたプロセスを一覧表示できます。例を見てみましょう。プロセスから始めます:
$ sleep 3000
次に、プロセスを一時停止します。
^Z
[1]+ Stopped sleep 3000
プロセスを一覧表示できます。
$ jobs
[1]+ Stopped sleep 3000
フォアグラウンドに戻します。
$ fg %1
sleep 3000
%1
は、jobs
コマンドでリストされた[1]
に対応します。
コマンドラインからkill
コマンドを使用してプロセスにCONTINUEシグナルを送信することにより、中断されたプロセスを再開できるはずです。
kill -CONT 92929