Office ドキュメントを pdf ファイルに変換するために、サーバー モードで実行されている openoffice に依存する Web サイトがあります。
バッチ ファイルを使用してこのプロセスを開始することはできますが、プロセスが確実に実行され続けるわけではありません。
SRVANYを使用してプロセスを実行し続けるサービスを作成しようとしましたが、これはプロセスがいつ停止したかを認識せず、非常にうまく再起動しました。
System.Diagnostics.Process クラスを使用して .Net でサービスを作成しました。これには、終了するプロセスのイベント処理があります。
サービスは正常に開始され、手動で削除するとプロセスが再起動されますが、プロセス自体に問題があります。
プロセスで soffice.bin と soffice .exe を確認できますが、ポート 8100 (netstat -a) でリッスンしているかどうかを確認すると、リッスンしていません (元のバッチでプロセスを手動で開始すると、リッスンします)。
myProcess.StartInfo.CreateNoWindow = True myProcess.StartInfo.UseShellExecute = True myProcess.StartInfo.FileName = "c:\Program Files (x86)\OpenOffice.org 3\program\soffice.exe" myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden myProcess.StartInfo.Arguments = "-accept = ""socket,host=127.0.0.1,port=8100;urp;"" - norestore - nofirststartwizard - ヘッドレス - nologo" myProcess.EnableRaisingEvents = True myProcess.Start()
.Domain .UserName .Password を設定してみました
管理者アカウントに、しかし運はありません。
.UseShellExecute = False を設定すると、プロセスはまったく開始されません。
これを機能させるための提案をいただければ幸いです-または、サーバーモードで実行されているopenofficeが消えるのを防ぐ別の方法(5分ごとに再起動するスケジュールされたタスクを除いて...)
このサイトhttp://support.etouch.net/cm/wiki/?id=34626から SRVANY オプションを再試行しました が、ポート 8100 でもリッスンしていません。 Windowsファイアウォールがオフになっている会社のファイアウォール)