次のように「su」を介してターミナルアプリケーションを実行しています。
su -c "/path/to/app --args" username
これは、「username」がシステム上の権限の低いユーザーであるルートコンテキストで行われます。アプリケーションには、CTRL-CとCTRL-Z(それぞれSIGINTとSIGTSTP)の信号ハンドラがあります。私が経験している奇妙な問題の1つは、「su」を介してこのように実行するとCTRL-Zがアプリケーションに伝播しないようです。上記のコマンドの最後から「username」を削除すると正常に動作します。この信号は、suを使用するユーザースイッチがある場合にのみ機能します。
TSTPを他のユーザーとして実行されているプログラムに伝播させる方法はありますか?
CentOS 6.4を使用してテストされました。
答え1
mdpcの提案に従って、「su」の代わりに「sudo」を使用すると問題が解決されました。