タグ付けされた質問 「jobs」

8
バックグラウンドプロセスを終了する方法
を使用してバックグラウンドでリモートマシンでwgetを開始しました&。突然ダウンロードが停止します。プロセスを終了してから、コマンドを再実行します。どうすれば終了できますか? シェルウィンドウを閉じていません。ただし、ご存じのとおり、Ctrl+ CとCtrl+の使用は停止しませんZ。

3
プロセスから^ Zを実行すると、「停止」します。どのように元に戻しますか?
誤ってtelnetプロセスを「停止」しました。今では、「スイッチバック」することも、それを殺すこともできません(kill 9292992929がprocessidである場合、応答しません)。 だから、私の質問は、あなたがLinuxコマンドラインで停止したプロセスを持っている場合、どのようにして元に戻すことなく、どのようにそれに切り替えるか、それを殺すのkill -9ですか?

4
Bashで遅延サスペンド(Ctrl-Y)の目的は何ですか?
Bashのマニュアルページの該当部分のみに次のように記載されています。 bashが実行されているオペレーティングシステムがジョブ制御をサポートしている場合、bashにはそれを使用する機能が含まれています。プロセスの実行中に中断文字(通常^ Z、Control-Z)を入力すると、そのプロセスが停止し、制御がbashに戻ります。 遅延サスペンド文字(通常^ Y、Control-Y)を入力すると、端末から入力を読み取ろうとするとプロセスが停止し、制御がbashに戻ります。 その後、ユーザーはbg コマンドを使用してバックグラウンドでジョブを続行し、このジョブの状態を操作できます。fgフォアグラウンドでそれを続行するコマンド、またはそれを強制終了するkillコマンド。^ Zはすぐに有効になり、保留中の出力と先行入力が破棄されるという追加の副作用があります。 私は一度も使用したことがありませんCtrl- Y; 私はそれについて学んだだけです。私は罰金を行っているCtrl- Z(一時停止)のみ。 私は、このオプションが何であるかを想像しようとしていますのために。いつ役に立つでしょうか? (この機能はすべてのUnixバリアントに存在するわけではありません。SolarisおよびFreeBSDには存在しますが、Linuxには存在しません。対応する設定はstty dsuspです。) おそらく少ない主観:で実現することができるものありますCtrl- Yと同じように簡単に行うことができませんかCtrl- Z?

3
コマンドラインアプリをバックグラウンドに直接送信するにはどうすればよいですか?
を押すctrl+zとアプリが停止することを既に知っています。bgコマンドを使用してアプリをバックグラウンドに送信できますが、それはアプリが停止する時間の短い期間があることを意味します。 アプリを停止せずにバックグラウンドに直接送信するにはどうすればよいですか?

4
いくつかのコマンドが終了するまで端末を「ハング」させるのはなぜですか?
時々、ターミナルからプログラムを実行しますlxpanel†。ターミナルはプロンプトに戻りません。ハングします。Ctrl+ Cを押してプロンプトに戻ることができますが、それはを殺しlxpanelます。ただし、Alt+ F2(コマンドを実行するためのウィンドウが表示されます)を押して実行lxpanelすると、正常に機能します。 どうしてこれなの?端末からコマンドを実行する場合と、Alt+ を押したときに表示される「実行」ウィンドウからコマンドを実行する場合の違いは何F2ですか? †ここのlxpanelは例として使用されたものです。複数のプログラムでこれを経験しました

4
あまりにも多くのバックグラウンドジョブを開始するとどうなりますか?
Expectスクリプトを使用して、700個のネットワークデバイスで作業を行う必要があります。順番に実行できますが、これまでの実行時間は約24時間です。これは主に、接続の確立にかかる時間と、これらのデバイス(古いデバイス)からの出力の遅延が原因です。2つの接続を確立し、それらを正常に並列に実行することはできますが、どこまでプッシュできますか? 700個すべてを一度に実行できるとは思いませんが、noにはある程度の制限があります。VMが管理できるTelnet接続の数。 このようなループで700個を開始しようとした場合: for node in `ls ~/sagLogs/`; do foo & done と CPU 12 CPU x Intel(R)Xeon(R)CPU E5649 @ 2.53GHz メモリ47.94 GB 私の質問は: 700のインスタンスすべてをおそらく同時に実行できますか? サーバーが制限に達するまで、どこまで到達できますか? その制限に達すると、次の反復の開始を待つだけfooですか、それともボックスがクラッシュしますか? 残念ながら企業の実稼働環境で実行しているので、何が起こるかを正確に試すことはできません。

1
「ジョブ」を監視できないが「ps」を監視できる理由を説明してください。
jobsバックグラウンドで実行されているコードを確認するための私のお気に入りのコマンドです。それらを動的にチェックするために、私はタイプする傾向があります watch 'jobs' 何も表示されません。しかしながら watch 'ps' 完璧に動作します。私は何ヶ月もの間、同じ過ちを犯しています。 最初の方法が機能しないのに2番目の方法が機能しない理由を理解すると、同じエラーの発生を防ぐのに役立ちます。 誰か助けてもらえますか?

2
シェルを終了した後、バックグラウンドジョブはどうなりますか?
私の理解では、ジョブは特定のシェルから開始されるパイプラインfgでありbg、これらのジョブ(、、Ctrl-Z)をこのシェル内から管理できます。ジョブは複数のプロセス/コマンドで構成できます。 私の質問は、シェルを含む元のシェルが終了すると、これらのジョブはどうなるのですか?huponexitが設定されていないため、シェルの終了後もバックグラウンドプロセスが実行を続けるとします。 私がやったとしましょう: $ run.sh | grep 'abc' & [1] job_id 次に、このシェルを終了します。新しいシェルを入力して実行するjobsと、何も表示されなくなります。しかし、私はps aux | grep run.shこのプロセスが実行されていることを確認できます。またps aux | grep grep、grep 'abc'実行プロセスも実行して確認できます。 パイプライン全体のジョブIDを取得して、一度に終了できるようにする方法はありますか?または、元のシェルを終了したら、別のシェルとは別にすべてのプロセスを終了する必要がありますか?(私は後者を試しましたが、うまくいきますが、すべてのプロセスを追跡するのは面倒のようです。)
9 shell  process  kill  jobs 

3
別のシェル(ターミナルウィンドウまたはタブ)で開始されたジョブを強制終了するにはどうすればよいですか?
プロセスを開始し、ターミナルウィンドウでそれをバックグラウンド化する場合(たとえばping google.com &)、それを使用kill %1してプロセスを強制終了できます(ジョブ1と想定)。 ただし、別のターミナルウィンドウ(またはタブ)を開くと、バックグラウンドプロセスはリストに表示されjobsず、を使用して直接終了することはできませんkill。 別のターミナルウィンドウまたはタブからこのプロセスを強制終了することはできますか? 注:私はXfceターミナルエミュレータ0.4.3とbashを使用しています(ただし、ソリューションが別の一般的なシェルに存在するがbashではない場合は、それにオープンしています)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.