2

別のユーザーの下でJavaサーバーからCSharpプロセスを実行したいと思います。PSExecを使用してこれを実行します。これは、PCでは正常に機能しますが、「実際の」サーバーで実行すると、プロセスがすぐにクラッシュします。(CSharpアプリが起動しないようです。最初のコマンドとしてファイルに何かを印刷しようとしましたが、何も書き込まれませんでした)。

javaプロセスを実行するユーザーと他のユーザーの両方がAdministratorグループに属します。

アプリケーションがクラッシュする理由がわかりません。

これは私のコードです:

ProcessBuilder processBuilder = new ProcessBuilder(
 "c:\\pstools\\PsExec.exe",
 "-u",
 "username",
 "-p",
 "password",
 appPath,
 arg1,
 arg2);

processBuilder.start();
4

3 に答える 3

1

Zoltan CsizmadiaによるXCmdを試してみてください:http: //feldkir.ch/xcmd.htm

この問題はsysinternalsフォーラムで議論されており、私が覚えているように、psexecが使用するEOLシンボルに問題がありました。

xcmdに問題はありません

于 2011-12-30T17:43:03.793 に答える
0

私のウイルススキャナーはxcmdを許可していません。

ただし、paexecはpsexecのドロップイン代替品であり、これも完全に機能します。

http://www.poweradmin.com/PAExec/

于 2013-05-30T07:39:08.060 に答える
0

それはうまく機能します。ShellCommandStringにはdouble\\が必要であることに注意してください。私の同僚がこの質問で私に来ました、私はそれをグーグルで調べてこのページに行きました.. processBuilderは問題なく動作します、あなたが持っている攪拌がcmdであなたが望む攪拌であることを確認してください

ProcessBuilder processBuilder = new ProcessBuilder(
    "Psexec \\\\\\\\10.192.246.76 -i -u Administrator -p admin2193 cmd /c C:\\\\CI\\\\AutoTest\\\\agent_test1.bat");

processBuilder.start();
于 2014-03-14T19:17:31.347 に答える