sigint

処理されたSIGINTが子プロセスとのパイプ通信に影響しますか?
sigint

処理されたSIGINTが子プロセスとのパイプ通信に影響しますか?

ターミナルでフレーズを読み、一連のスペルを計算する対話型Cプログラムがあります。また、保持された「入力の終わり」マークが受信されるまで、STDINから行を読み取ってバッファリングし、行をソートし、列に整理し、STDOUTに送信するPerlプログラムもあります。 BSD / MacOSを使用するCプログラムは、popen()単一の双方向パイプを介してPerlプログラムを起動し、すべてのfprintf()スペル置換が生成されるまでパイプでスペルを実行し、パイプgetline()からエクスポートしてフォーマットされた結果を再読み込みして印刷します。 通常の状況では...

Admin

いつプログラムでSIGINTを強制的に送信しますか?
sigint

いつプログラムでSIGINTを強制的に送信しますか?

おすすめの方法を知っています。終了フォアグラウンドプロセスは、SIGTERMプロセス自体にリソースを整理/解除する機会を提供するため、シグナルを介して実行されます。信号はコマンドによってのみ生成/送信でき、kill pkill killallここまでできたすべてのコマンドによって生成/送信できます。しかも、それ基本これらのコマンドの信号です。 今私はSIGINT信号を知っています邪魔するプロセス。したがって、「似ています」終了。 しかし、私は次の答え(抜粋)を読みました。 SIGINT は、SIGTERM、SIGQUIT、SIGKILL などの他の終了信号...

Admin

シェルスクリプトで実行したときにsleepがSIGINTを無視するのはなぜですか?
sigint

シェルスクリプトで実行したときにsleepがSIGINTを無視するのはなぜですか?

sleep手動で実行すると、kill -INTスリープはすぐに終了します。たとえば、 $ /bin/sleep 60 & [1] 4002356 $ kill -INT 4002356 [1]+ Interrupt /bin/sleep 60 $ ps -C sleep PID TTY TIME CMD $ ただし、シェルスクリプトで同じことを行うとsleep無視されますSIGINT。たとえば、次のようになります。 set -o xtrace echo /bin/sleep ...

Admin

ctrl-Cで信号を無視するプログラムを強制的に終了できますか?
sigint

ctrl-Cで信号を無視するプログラムを強制的に終了できますか?

SIGINTを無視するプログラムがありますが、フォアグラウンドで実行したいと思います。 Ctrl-Cを押して強制的に閉じる方法を見つけたいです。./wrapper.sh my_program無視されたSIGINTを検出し、SIGKILLを生成して誤動作するプログラムを強制的に終了するようにラッパー(呼び出し可能)を作成する方法はありますか? この回答私が探しているものとは正反対です。シグナルを無視するプログラムがSIGINTで終了するように強制したいと思います。 ...

Admin

Bashスクリプト内で開始されたコマンドにSIGINTを送信する
sigint

Bashスクリプト内で開始されたコマンドにSIGINTを送信する

Bashスクリプトを実行していますが、スクリプトから開始したコマンドを適切に終了したい(CTRL + Cを押す)。スクリプトは次のとおりです。 trap ctrl_c SIGINT function ctrl_c() { PID = $! kill -s SIGINT -$PID wait $PID echo "mycommand stopped!" } mycommand directory -option | grep --line-buffered -A 'Hello|Bye' >> output しかし、それは私のコマンドを中断しま...

Admin

CTRL-Cが機能しないときにコマンドラインで機能させるにはどうすればよいですか?
sigint

CTRL-Cが機能しないときにコマンドラインで機能させるにはどうすればよいですか?

特定の環境シェルコマンドライン(CentOS 7 / WindowsホストのVagrantゲスト)でCTRL + Cが利用できないという問題があります。私はそこでbashを使用しています。オペレーティングシステムはあまり関係ないようです。 例を実行しsleep 1000、ctrl-cを押します。 $ sleep 1000 ^C^C^C したがって、^ Cを入力してください。 ^C混乱が起こります。 $ stty -a intr = ^C; ... どのように作るこれはうまくいくでしょうか? 以下の記事では、私はこの問題を解決するためのインスピレーション...

Admin

dmenuがSIGINT電波を妨げるのはなぜですか?
sigint

dmenuがSIGINT電波を妨げるのはなぜですか?

dmenuを介してJetbrains IDE(PyCharmやAndroid Studioなど)を実行すると、次の警告が表示されます。 IDEはSIGINTを無視します。実行設定の停止ボタンが機能しない可能性があります。 それからリンクされるこのサポートページそれは言う ...ユーザーは、信号がブロックされないようにIDEの起動方法を変更できます(例:dmenuの代わりに端末で実行) dmenuがこれらの動作を引き起こすのはなぜですか?利用可能な設定や回避策はありますか? pycharm&潜在的な解決策を確認するためにい...

Admin

SIGINT が mysql サブプロセスに到達するのを防ぐ
sigint

SIGINT が mysql サブプロセスに到達するのを防ぐ

mysql間接的に呼び出される(長いSQLスクリプトの実行)Perlスクリプトがあります。このスクリプトの実行中にCtrl+を無効にしたいが、Cとにかくシグナルがまだ到着し、mysql「Ctrl-C - クエリが終了しました。正常に続行してください」と表示されますmysql。 私は持っています: 「IGNORE」に設定してください$SIG{INT}。実際、Perlスクリプトは引き続き実行されます。 Perlスクリプトでプロセスグループを設定する - 実際に私のPerlスクリプトと同じプロセスグループにあるものとしてps -e -o uid,pid,pp...

Admin

縮小を担当するresize2fsにSIGINTを送信するのはどのくらい危険ですか?
sigint

縮小を担当するresize2fsにSIGINTを送信するのはどのくらい危険ですか?

/、および/boot(2台の1T SATAディスクを備えたRAID1)パーティションのみを持つ古いPCサーバー(クアッドコアPentium 4)を継承しましたが、swap更新されたディストリビューション(CentOS 6.9以降)が必要でした。/含まれているパーティションをフォーマットできるように、新しいパーティションを作成することにしました。 -pしかし、フラグを追加するのを忘れていましたが、resize2fs今は私が静かに私を見つめていて、どれくらい時間がかかるかわかりません(50時間以上そこにいました)。これで、ファイルシステムを縮小する方法を知って...

Admin

LinuxのC SIGINT信号
sigint

LinuxのC SIGINT信号

プロセスを終了するために特定のキーボードキーの組み合わせを作成したいと思います。たとえば、CTRL+C^3(C を 3 回押す: CTRL+CCC) を押してプロセスを終了したいとします。 だから基本的にCTRL + CをCTRL + CCCに置き換えたいのです。 ...

Admin

^Cを使用してバックグラウンドプロセスを閉じてから(効果的に)フォアグラウンドプロセスを閉じる機能を再取得します。
sigint

^Cを使用してバックグラウンドプロセスを閉じてから(効果的に)フォアグラウンドプロセスを閉じる機能を再取得します。

インタラクティブコンソールでを押してZenityウィンドウを^C閉じます。スクリプトでのみ使用zenity --info & fgできます。zenity --info & waitただし、^Cこの場合、Zenityウィンドウは閉じません。もっと仕事waitのように振る舞う方法はありますか?fg^C ...

Admin

プログラムがSIGINT信号を傍受し、内部的に処理し、無視する正当な理由
sigint

プログラムがSIGINT信号を傍受し、内部的に処理し、無視する正当な理由

また、プログラムはIPC信号を傍受し、内部ハンドラを実行して基本ハンドラの操作をバイパスすることができることを知っていSIGKILLますSIGSTOP。 私は信号を使用してこれを行う必要がある少なくとも1つの良い理由を考えることができますSIGINT。 つまり、プロセスを終了する基本的なシグナル操作に戻る前に、最後のバックアップを実行したり、メモリダンプを保存したり、ログに書き込む信号ハンドラを実装したりします。 また、マルウェアがSIGINTを捕捉してブロックする1つの妥当な理由を考えることができます。 つまり、プロセスの実行時間を延長します...

Admin

停止CTRL + Cリモートコンピュータでtcpdumpを実行しているローカルスクリプトを終了します。
sigint

停止CTRL + Cリモートコンピュータでtcpdumpを実行しているローカルスクリプトを終了します。

次の簡単なスクリプトを設定しました。 sshpass -p $password ssh -T $username@$ip_address -p 30007 <<- EOF > $save_file.pcap sh tcpdump -i eth5.1 -s 0 -n -v -U -w - EOF sed -i '1d' $save_file.pcap このスクリプトの目的は、ローカルコンピュータのファイルに出力を保存している間にリモートデバイスでtcpdumpを実行できるようにすることです(リモートデバイスのストレージ...

Admin