Linuxで停止したジョブを再開する方法私はemacsを使っていて、誤ってctrl-zを押してコンソールに戻りました。 「jobs」と入力すると表示されます
[*****]$ jobs
[1]+ Stopped emacs test_queue.cpp
コマンドfg
はあなたが使いたいものです。複数の停止したジョブがある場合は、ジョブ番号を付けることもできます。
Linuxの一般的なジョブ制御コマンドは次のとおりです。
それはほとんどすべてです。コマンド内のジョブ番号の前にある%に注意してください - これは、プロセスではなくジョブについて話していることをkillに伝えます。
%<process_name>
と入力することもできます。つまり、emacsでCtrl-Zを押すと、コンソールに%emacs
と入力して前面に戻すことができます。
他の答えに加えて、bashを使用すると、ジョブ番号を指定した場合にfg
をスキップできます。
たとえば、これらは同等で最新の仕事を再開します。
%
%%
fg
fg %
これらの履歴書ジョブ#4:
%4
fg 4
現在の端末から起動しなかった場合は、ps aux | grep <process name>
を使用してプロセス番号(pid)を見つけ、それを再開します。
kill -SIGCONT <pid>
(名前にもかかわらず、kill
は単にシグナルをプロセスに送信し、プロセスが相互に通信できるようにするためのツールです。「killシグナル」は、多くの標準シグナルの1つにすぎません。)
ヒント:プロセス名の最初の文字を[]
で囲むと、grep
コマンド自体が結果に表示されなくなります。例えばemacs
プロセスを見つけるには、ps aux | grep [e]macs
を使用します。