JXAで非同期バックグラウンドプロセスを起動する方法

ポール・ゴー

JXA(JavaScript for Automation)MacアプリからHTTPサーバーを実行しようとしています。この部分は次のように簡単です。

app.doShellScript("python -m SimpleHTTPServer");

(詳細はこちら:https//github.com/JXA-Cookbook/JXA-Cookbook/wiki/Shell-and-CLI-Interactions

問題は、それを実行した後、シェルスクリプトが実際に終了しないため、アプリケーションプロセスが停止することです。

それでは...サーバーをバックグラウンドプロセスとして実行する必要がありますか?残念ながら、私が試したことのどれも、制御をJXAアプリに戻していません

これが私が試したことです:

  1. app.doShellScript("nohup python -m SimpleHTTPServer > /dev/null <&- >&- 2>&- & disown");
  2. app.doShellScript("( python -m SimpleHTTPServer > /dev/null & )");
  3. $.system("( python -m SimpleHTTPServer & )");
  4. サーバーを実行して終了する別のプロセスを起動するPythonスクリプトを作成しました
  5. Node.jsで同じことを試しました
  6. サーバーを起動して終了するシェルスクリプトを試しました exit 0
  7. cronサーバーを起動するシェルスクリプトをすぐに起動するジョブを起動しようとしましたが、CRONにサンドボックスの問題があるようです。
  8. さまざまなハック $.NSTask

最終的な解決策には、JXAアプリケーションから完全に100%ゼロ知識が切り離された方法で起動されるバックグラウンドプロセスが含まれるようです。

ポール・ゴー

したがって、システムを再起動すると、これが機能することがわかります。

$.system("nohup python -m SimpleHTTPServer > /dev/null &");
console.log("Non-blocking!");

(私のゴム製のアヒルであるStackOverflowに感謝します。)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

バックグラウンドでアプリケーションプロセスを起動する

PythonFastAPIアプリで非同期バックグラウンドデーモンを起動します

LinuxからAndroidで永続的なバックグラウンドプロセスを起動する

Pythonshで起動されたバックグラウンドプロセスを強制終了する

サブプロセスコマンドを実行して、バックグラウンドPythonでnodejsサーバーを起動する方法

grep はバックグラウンドプロセスを起動します

バックグラウンドプロセスを起動し、いつ終了するかを確認します

バックグラウンドでプロセスを起動し、出力を取得します

Pythonでバックグラウンドプロセスを開始する方法

PHPでバックグラウンドプロセスを作成する方法

symfonyでバックグラウンドプロセスを実行する方法

バックグラウンドでの同期プロセス

スクリプトをバックグラウンドで起動すると、2つのプロセスが実行されます

Windowsのバックグラウンドで起動からPythonスクリプトを実行する方法

バックグラウンド(非同期)タスククラス(Java/Android)でアクセスするクラスメソッドに変数を設定

バックグラウンドで起動されたプロセスを表示するシェルスクリプト

Windowsサービスから非バックグラウンドプロセスを起動するにはどうすればよいですか?

非同期でバックグラウンドで倍数になるカウンターを作成する方法

バックグラウンド非同期スレッドを導入する

非同期タスクのバックグラウンドでdoで登録クラッシュを送信する

シェルスクリプトでバックグラウンドプロセスをパイプする方法

UWPアプリのアウトプロセスバックグラウンドタスク内からFullTrustWin32アプリを起動できますか?

実行中のプロセスをバックグラウンドに移動する方法(UNIX)

TaikoJSで非同期動的ドロップダウンをコーディングする方法

バックグラウンドプロセスとしてexeclpを起動します

Linuxでバックグラウンドでプロセスを実行する

1つのグループでバックグラウンドプロセスを起動し、後でそれらをすべて強制終了します

PowerShellでバックグラウンドプロセスとしてMavenコマンドを実行する方法

(Django)非同期サーバータスクをバックグラウンドで継続的に実行する

TOP 一覧

  1. 1

    三項演算子良い練習の代わりとしてOptional.ofNullableを使用していますか?

  2. 2

    STSでループプロセス「クラスパス通知の送信」のループを停止する方法

  3. 3

    Spring Boot Filter is not getting invoked if remove @component in fitler class

  4. 4

    セレンのモデルダイアログからテキストを抽出するにはどうすればよいですか?

  5. 5

    tkinterウィンドウを閉じてもPythonプログラムが終了しない

  6. 6

    Ansibleで複数行のシェルスクリプトを実行する方法

  7. 7

    Python / SciPyのピーク検出アルゴリズム

  8. 8

    画像変更コードを実行してもボタンの画像が変更されない

  9. 9

    ビュー用にサイズ変更した後の画像の高さと幅を取得する方法

  10. 10

    VisualStudioコードの特異点/ドッカー画像でPythonインタープリターを使用するにはどうすればよいですか?

  11. 11

    Three.js indexed BufferGeometry vs. InstancedBufferGeometry

  12. 12

    __init__。pyファイルの整理中に循環インポートエラーが発生しました

  13. 13

    二次導関数を数値計算するときの大きな誤差

  14. 14

    値間の一致を見つける最も簡単な方法は何ですか

  15. 15

    androidsoongビルドシステムによるネイティブコードカバレッジ

  16. 16

    Reactでclsxを使用する方法

  17. 17

    How to access json value by key value in freemarker?

  18. 18

    エンティティIDを含む@RequestBody属性をSpringの対応するエンティティに変換します

  19. 19

    PyTesseractを使用した背景色のため、スクリーンショットからテキストを読み取ることができません

  20. 20

    Using Angular's UI-router, how can we make sure the new version of the html partial views are used, rather than the cached version?

  21. 21

    symfonyエラーサーバーが404NotFoundを返しました

ホットタグ

アーカイブ