0
sigaction(SIGTSTP, &act, NULL)
シグナルハンドラを実装しました。このシグナルハンドラから、シグナルを送信しているプロセスのpidを取得できました。そして、このPIDを持つ私は、コマンドlinuxのpidからプロセスのパスまたは名前を取得する方法
ls -l /proc/pid/exe
を使用して、そのプロセスのパスを取得しようとしていますが、それはでも、私はプロセスがリストされていないコマンド「PS」を実行しています
ls: /proc/23710/exe: No such file or directory
メッセージ
を示しています。誰も私にそのようなプロセスのパスまたは名前を取得する方法を教えてもらえますか?あなたは/proc/<pid>/cmdline
を読むことができ、PIDからプロセスのコマンドラインを取得することができます
シグナルハンドラから 'ls'を実行していますか?それはうまく終わらないでしょう。 –
[MCVE](http://stackoverflow.com/help/mcve)をご覧ください。おそらく 'si_pid'の検査が間違っているかもしれません。おそらく代わりに、あなたがチェックした時点でシグナリングプロセスが完了しますが、コーディングエラーが起きそうです。 – pilcrow