SharpSsh を使用して ASP.NET/C# からスクリプトを実行しています。スクリプトが実行され、UNIX から ps -ef grep を実行すると、同じスクリプトが 2 回実行されていることがわかります。1 つは csh -c で、もう 1 つは ksh です。スクリプトにはシバン ksh があるため、なぜ csh のコピーも実行されているのかわかりません。また、同じスクリプトを UNIX から直接実行すると、1 つのコピーのみが ksh で実行されます。スクリプト内から実行されている他のシェルはありません。
1 に答える
1
ほとんどの Unix/Linux には、プロセス ツリーを表示するコマンドまたはオプションがあり、次のようなインデントされたリストを使用して、ps または ptree または ??? の -t または -T オプションを探します。
USER PID PPID START TT TIME CMD
daemon 1 1 11-03-06 ? 0 init
myusr 221568 1 11-03-07 tty10 1.00s \_ -ksh
myusr 350976 221568 07:52:11 tty10 0 | \_ ps -efT
csh は、スクリプトを引数として含むユーザー ログイン シェルであることがわかると思います (csh プロセスの完全なコマンド ラインを表示するには、ps に別のオプションを使用する必要がある場合があります)。 ksh がスクリプトを実行していること、およびスクリプトが呼び出している外部コマンドについて ksh の下でさらにサブプロセスが実行されていることを確認できます。
これが役立つことを願っています。
追伸、あなたは新しいユーザーのようです。役立つ回答が得られた場合は、承認済みとしてマークすることを忘れないでください。または、有用な回答として + (または -) を付けてください。
于 2011-03-10T14:15:09.523 に答える