job-control

SIGTSTP(Ctrl-Z)は、スクリプトコマンドで開始されたスクリプトでは機能しません。
job-control

SIGTSTP(Ctrl-Z)は、スクリプトコマンドで開始されたスクリプトでは機能しません。

注:stdinとstdoutをファイルに書き込むコマンドをscript示します。script scriptこのユーティリティを使用して、端末のテキストの色を維持しながら後で確認できるように出力を保存するスクリプトを実行しようとしています。 CtrlZ+()を使用して現在のスクリプトを一時停止しようとすると、SIGTSTPコンソールが印刷され、^Zスクリプトは停止しません。 Ctrlそれから+を試しました。S ( SIGSTOP)。現在実行中のスクリプトは停止しますが(htopすべてのプロセスをZモーダルとして表示)、端末を解放するわけではありません。&nb...

Admin

すでに実行中のプロセスにプロセスを追加しますか? &&またはこのように
job-control

すでに実行中のプロセスにプロセスを追加しますか? &&またはこのように

この問題これは別の関連する質問にインスピレーションを与えました。始めると想像してください % nohup a.sh & その後、完了時に実行されますb.sh(例:処理される出力。どちらも完了するのに数時間かかる長期実行プロセスです)。a.shb.sha.sha.shb.sh 基本的にシミュレーションしたい % nohup a.sh && b.sh b.shしかし、起動時に追加するのを忘れましたa.sh。これは達成できますか?好ましくはzshで。 ...

Admin

linux:kill -9プロセスは2回目の試みでのみ成功します。
job-control

linux:kill -9プロセスは2回目の試みでのみ成功します。

現在解決中です。複数のchrootがumount /chrootedpath /dev/ptsされた後:ターゲットは使用中です。。 問題の一部を発見しました。まだ実行中の2つのプロセスがコマンドpsとしてマークされています。sudo choot彼らはSs/T状態にあります。奇妙なことに、私は他の人ではなく、私が殺されたのではないことを知っていたので混乱しましkill -9た。それでもっと学びようとしました。しかし、今回は0で終了します。どちらのプロセスも最初に失敗し、そのうちの1つが成功します。1uninterruptable sleepstracestra...

Admin

Bashスクリプトでサスペンス(ctrl-z)を消去するには?
job-control

Bashスクリプトでサスペンス(ctrl-z)を消去するには?

次のスクリプトがあります。 suspense_cleanup () { echo "Suspense clean up..." } int_cleanup () { echo "Int clean up..." exit 0 } trap 'suspense_cleanup' SIGTSTP trap 'int_cleanup' SIGINT sleep 600 実行してを押すと表示され、Ctrl-C終了Int clean up...します。 Ctrl-Zただし、を押すと、^Z文字が画面に表示されて停止します。 私がすることができます:...

Admin

Bashでジョブの一時停止(Ctrl-Z)をサポートするターミナルマルチプレクサ(screen、tmux、zellij)はありますか?
job-control

Bashでジョブの一時停止(Ctrl-Z)をサポートするターミナルマルチプレクサ(screen、tmux、zellij)はありますか?

私が知っている限り、ターミナルマルチプレクサでCtrl-Zを押すか、バックグラウンドで実行しようとすると、何も起こらないか、競合が発生します。 ターミナルマルチプレクサは、一般に、自己休止および再開メカニズムがあるという点で、ジョブ制御を「代替」することを知っている。しかし、どういうわけかこれをシェルジョブコントロールベースのワークフローに統合できるかどうか疑問に思います。 答え: 画面が一時停止し、「Ca z」と表示されます。 Tmuxは「Cb Cz」で一時停止されます。 Zellijは「Co d」を使用して一時停止しますが、以前とは異なり、プロセスをシ...

Admin

「yes&」がBashセッションを中断するのはなぜですか?
job-control

「yes&」がBashセッションを中断するのはなぜですか?

「はい、そして… 」は即興コメディの素晴らしい経験則です。 UNIXの世界ではそうではありません。 この愚かなコマンドを実行するとyes&中断できません。端末がクラッシュするか、ループに閉じ込められます。 yesstdoutに書き込もうとすると、バックグラウンドのすべてのプロセスが一時停止する必要があるため、プロセスがすぐに一時停止されるようにしたいのですが、そうでないようで、その理由を知りたいです。 ...

Admin

POSIX shは、子プロセスへの参照を維持するために$!を拡張する必要がありますか?
job-control

POSIX shは、子プロセスへの参照を維持するために$!を拡張する必要がありますか?

仕様 ~によるとオンラインPOSIX仕様, シェルとユーティリティ, シェルコマンド言語, セクション2.9.3 リストの非同期リストの内容は次のとおりです。 非同期リストの要素(<&>で終わるリスト部分、例:コマンド1、上)シェルによって開始されると、非同期リスト要素の最後のコマンドのプロセスIDは現在のシェル実行環境内で知られている必要があります。シェル実行環境をご覧ください。プロセスIDは、次回まで既知のままにしてください。 コマンドが終了し、アプリケーションはプロセスIDを待ちます。 $!現在の実行環境では、""(以前の非同...

Admin

bash Ctrl-Cを受信したときに前景プロセス(スクリプト)によって開始されたバックグラウンドサブプロセスを識別する方法
job-control

bash Ctrl-Cを受信したときに前景プロセス(スクリプト)によって開始されたバックグラウンドサブプロセスを識別する方法

私の質問は、WCE(Waiting and Cooperative Exit)とは何の関係もありません。インタラクティブシェルでフォアグラウンド操作でスクリプトを起動するとします。 #! /bin/bash # script name: foreback.sh sleep 100m & # child process in bg sleep 200m & # ditto sleep 300m & # ditto sleep 7000m # child process in fg exit 0 このスクリプトの実行...

Admin

bg コマンドはプロセスをバックグラウンドに送信しません。
job-control

bg コマンドはプロセスをバックグラウンドに送信しません。

ctrl-zを使用してプロセスを一時停止し、bgコマンドを使用してバックグラウンドで送信しました。残念ながら、プロセスはバックグラウンドで送信されず、フォアグラウンドで実行されているように見えます。その後、もう一度Ctrl-Zを押して再び一時停止します。残念ながら、キーの組み合わせは応答しなくなり、プロセスは進行中です。さらに悪いことは、コマンドがfor多くのプロジェクトのループであるということです。 Ctrl-Cを押すと、最後の反復まで次の反復で操作が再開されます。 macOSのiTerm内のtmuxで実行されます。 ...

Admin

ジョブ制御下で個別の変数範囲生成コマンド
job-control

ジョブ制御下で個別の変数範囲生成コマンド

独自の変数スコープを使用して、bashまたは他のsh派生シェルのコマンドラインからフォアグラウンドでコマンドリストを実行できます(したがって、そのスコープ内の変数に割り当てられているすべての値は、スコープの外側ではわかりません)。そして - バックグラウンドコマンドが生成された場合 - バックグラウンドコマンドはまだ親シェルの下のタスクですか、つまりまだコマンドラインシェルのタスク制御下にありますか?これを行う方法が2つ以上ある場合、実際に最短の方法は何ですか? 括弧を使用すると、独自の範囲を持つ新しいサブシェルが作成されますが、生成されたすべてのバックグラ...

Admin

コンソール操作を一時停止できますか?
job-control

コンソール操作を一時停止できますか?

さまざまなコンソールで多くのタスクが実行されています。 CPU使用量をほぼすべて占めるため、システム制御が難しい(応答時間が非常に遅い)。 このコンソールを一時停止する方法はありますか?それとも別の方法がありますか? #修正 私は実際にはさまざまなコンソールでYoctoを構築していますが、特定のプロセスを調整するのは難しいようです。そして、Yoctoを構築すると、他の多くのプロセスが実行され、繰り返し終了し、別の新しいプロセスが開始される可能性があります。 ...

Admin

sudoを使用したBashスクリプト - 信頼できないバックグラウンドリカバリ(bg)
job-control

sudoを使用したBashスクリプト - 信頼できないバックグラウンドリカバリ(bg)

test.shルートディレクトリのディスク使用量を表示する次の単純なbashスクリプト(と呼ばれる)があります。sudoすべてのディレクトリを一覧表示する必要があります(sudoパスワードを入力する必要はありません)。 #!/bin/bash sudo du -h --max-depth=1 / 2> /dev/null ディレクトリが私のパスにあり、次のスクリプトを実行します(出力をテキストファイルに出力するため)。 $ ./test.sh >> ./test.txt Ctrl+pauseで作業すると、次のような結果がZ得られます。 ...

Admin

Zsh機能のバックグラウンドコマンドがジョブに正しく表示されないのはなぜですか?
job-control

Zsh機能のバックグラウンドコマンドがジョブに正しく表示されないのはなぜですか?

jobsBash 5.2 では、次のいずれかの操作の後の出力は同じモジュールのジョブ番号です。 sleep 3 # press C-z s() { sleep 3; } s # press C-z jobs両方で [1]+ Stopped sleep 3 Zsh 5.9(x86_64-apple-darwin20.6.0)では、最初のコマンドはsleep次のコマンドを含む十分に類似した出力を生成します。 [1] + suspended sleep 3 2番目は、ほとんど役に立たない出力を生成します。 [1] +...

Admin