ターミナルで長時間実行されているプログラムを一時停止しますか?


17

ターミナルで実行中のプログラムを一時停止するために使用できるキーボードキーの組み合わせはありますか?それが重要な場合、プログラムが一時停止している間、その端末内で他の何かを実行するつもりはありません。プログラムの実行を一時停止し、後で再開したいだけです。これどうやってするの?


正確にどのプログラムですか?
ジョブ

@Jobin C ++で作成したプログラム。しかし、ソースコードを変更したくありません。
becko

再起動などの後、プロセスを再開しますか?
ジョブ

@Jobinいいえ、再起動しません。後で再開したいのですが、途中でシステムを再起動しません。
becko

回答:


17

Control+を押しZます。

これにより、プロセスが中断され、シェルに戻ります。あなたは、することができますしたい場合は、今他の事をするか、または次のように入力して、バックグラウンド・プロセスに戻ることができます%が続きますReturn

レスポンシブである必要があるものに対してこれを行う場合、システムをタンキングすることに注意してください。ただし、nanoインスタンスのようなものであれば、すべてが問題ないはずです。


ターミナルプロセスを一時停止しても安全ですか?
Pandya

@パンディア:どうして?
4

@Pandyaそれはプロセスに依存するはずです...何かが非常に時間に敏感である場合、それは中断されることを期待しないかもしれませんが、ほとんどのもの大丈夫です。
オリ

15

これはbashジョブ制御です

CTL-Zを使用してジョブを停止します。

次に、bgと入力して、バックグラウンドで実行します(オンジョブのみが実行されている場合)。

複数ある場合は、ジョブを使用てリストし、使用することができます fg%Nbg%Nを使用して目的の効果を得ることができます。

例:

ubuntu @ ip-10-170-59-120:〜$ find / usr -name "* .so"
/usr/lib/python2.7/dist-packages/OpenSSL/crypto.so
/usr/lib/python2.7/dist-packages/OpenSSL/SSL.so
/usr/lib/python2.7/dist-packages/OpenSSL/rand.so
/usr/lib/python2.7/dist-packages/gi/_glib/_glib.so
/usr/lib/python2.7/dist-packages/gi/_gobject/_gobject.so
/usr/lib/python2.7/dist-packages/gi/_gi.so
/usr/lib/python2.7/config/libpython2.7.so
...
^ Z
[1] + / usr -nameの検索を停止しました 

ubuntu @ ip-10-170-59-120:〜$ジョブ
[1] + / usr -name "* .so"の検索を停止しました

ubuntu @ ip-10-170-59-120:〜$ fg%1
/ usr -name "* .so"を見つけます
/usr/lib/php5/20090626+lfs/apc.so
/usr/lib/php5/20090626+lfs/memcache.so
/usr/lib/php5/20090626+lfs/mysql.so
...

TTYにアタッチされていない他のものには、SIGSTOPとSIGCONTを使用できます。たとえば、デーモンが問題を引き起こしていると思うが、それがどれであるかわからない場合は、pid SIGSTOPを送信できます。これは一時停止を押すようなもので、変更を確認します。問題を見つけます。

お役に立てれば。


1
いい答えです!追加するだけでいいのは、bashだけではないということですか Kornシェルも同じように機能します。
セルギーコロディアズニー

4

私はこの答えが少し遅いことを知っていますが、ショートカットCtrl+sを使用してプログラムを停止することができます(出力またはこのようなものを読みたい場合)、ショートカットを使用し続けることができCtrl+qます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.