として地位を得た数分後、次のコマンド[1] +停止
nohup perl myPerlSCript.pl >debug_log &
を使用してバックグラウンドでのperlスクリプトを実行異常停止しました
私はそれを止めることを期待していなかったし、何を止めたのかも分からなかった。これをデバッグして停止理由を調べるにはどうすればよいですか?私は実際にデバッグするunixコマンドを知ることに興味があります。
として地位を得た数分後、次のコマンド[1] +停止
nohup perl myPerlSCript.pl >debug_log &
を使用してバックグラウンドでのperlスクリプトを実行異常停止しました
私はそれを止めることを期待していなかったし、何を止めたのかも分からなかった。これをデバッグして停止理由を調べるにはどうすればよいですか?私は実際にデバッグするunixコマンドを知ることに興味があります。
万が一tcshを使用していますか? Tcshには実際にnohupコマンドが組み込まれています。私はこれまでに多くの問題を抱えていました。
この場合は、/usr/bin/nohup
を直接お試しください。
バックグラウンドで実行中のプロセスを停止する方法はいくつかあります。それらのすべては、これらの信号のいずれかを伴う:
SIGSTOP
SIGTSTP
SIGTTOU
SIGTTIN
SIGSTOP
は深刻です。それはブロックされない、無視できない、扱い難い。 SIGKILL
がそれを殺すと確信してプロセスを停止します。他のものは、停止を防ぐためにバックグラウンドプロセスによって処理することができます。
kill(2)
を用いて他のプロセスによって送信された、またはそれ自体に処理することによってプロセスが端末に書き込みしようとし、端末オプションtostop
がstty -a
の出力を参照して(有効になっているraise(3)
又はkill(2)
SIGTTOU
が生成されます。tcsetattr(3)
またはそれに相当するioctl
で端末モードを変更しようとしました。 (これは、stty
で示されるモードと同じです。)tostop
フラグの現在の状態に関係なく、SIGTTOU
が生成されます。SIGTTIN
が生成されます。このリストはおそらく非常に不完全です。
ありがとうございます - これらの信号のうち、少なくとも[1] +停止 "を引き起こした信号はどれですか? – Rup
これをbashではなくzshで実行すると、より詳細なメッセージが表示されます。 bashはそれらの4つすべてに対して "停止"を表示します。 –
いいえ私はtcshを使用していません。それはbashです。 – user703555