スクリプトや他の言語を使用して、実行中の特定のプロセスが対話型であるか、単にデーモンのようなもの (つまり、実際のデーモン、または など) であるかを判断することは可能ですかtail -f
?
もしそうなら、どうやって?
複数のプラットフォームで可能ですか (私は bash を最も頻繁に使用しますが、他のシェル (PowerShell も含む) でのソリューションも歓迎します)?
答え1
他の回答に対するあなたのコメントに基づくと、あなたが求めているのは非常に難しいです。
アプリが接続するライブラリを確認し、それが画面制御 (例: ncurses) である場合は、おそらく対話型です。ただし、特定の実行状況では、これらは「非対話型 (定義による)」で実行される可能性があります。
一番良い方法は、strace を使用することだと思います。strace は、アプリが使用するシステムコールを表示します。tty に接続された fd から読み取る場合は、対話型です。
答え2
質問を正しく理解していれば、対話型プロセスには tty が関連付けられているはずです。
Linux システムでは、次のようにするとすべての対話型プロセスが表示されます。
ps -e | grep pts