仕事を始め、別のことをして、再開する方法

仕事を始め、別のことをして、再開する方法

Python経由でWebサーバーを起動したいです。成功したら、デフォルトのブラウザでページを開き(macOSではコマンドを使用して実行できますopen)、以前のスクリプトを再度復元したいと思います。

これはうまくいきません:

#!/usr/bin/env bash
cd wwwroot
python3 -m http.server &
open http://0.0.0.0:8000
fg 1

は利用できず、jobsURLを開いてPythonスクリプトを実行することはできません。ただし、そのURLからページをリロードしたくありません。 Pythonは停止するまで実行され続けますCtrl+C

たぶん、Pythonがまだ準備されていないときにコマンドopenが必要になるかもしれません。sleep

ベストアンサー1

いくつかの実験を行った結果、これが$!望む変数のようです。例:

(sleep 1 && open http://0.0.0.0:8000) &
disown $!
python3 -m http.server

実行する前にサーバーが稼働していることを確認してくださいsleep(少なくともおそらく)。openただし、python3 -m http.server1秒以上かかると失敗します。この可能性を文書化してください。

おすすめ記事