長期実行プロセス(AWK、DD)に信号を送信する

長期実行プロセス(AWK、DD)に信号を送信する

私は実行時に出力を生成しないDDコマンドに精通しています。ただし、USR1信号を送信すると現在の状態を印刷できます。

AWKを使用して同じことを実行できますか?変数を印刷してsignal_handlerを登録しますか?

ベストアンサー1

.NETの場合でも、この動作をクロスプラットフォームに頼ることはできませんddPOSIX指定した SIGUSR1 に対する応答がありません。実際にddそれを使用しようとすると、プロセスは終了します。OSXまたはBSD、時には組み込みLinux(Busybox)SIGUSR1onをこのように使用することはddGNU拡張であるようです。実際、ほとんどのデスクトップLinuxシステムでこれを行うことができます。

同様に、GNUを使用する場合awk可能SIGUSR1これは、GNU固有の内部状態情報を取得するために送信できます。この場合、標準出力として印刷されるのではなく、ファイルとして印刷されます。この機能をサポートするawkバージョンはGNUです。awk 4.1.0以上-p()フラグで実行する場合--profile、または3.1以上pgawk.

信号機能の詳細については、gawkマニュアルページ(バージョン 3.1またはバージョン 4.1)を選択して「信号」を検索してください。

デスクトップLinuxがGNU awkを実行しているかどうかは、GNUよりも確実ではありませんddmawkデスクトップLinuxで実行されているのを見たもう一つのawkです。

おすすめ記事