私は通常、Pythonスクリプトを使用してスクリーンセッションから非対話形式でファイルをアップロードします。大規模なアップロードの場合は、スクリプトが終了してスクリプトが停止することがあります(PythonやOSによってはわかりません)。
...
uploading file000100 ...
uploading file000101 ...
Killed
スクリプトのエラーコードは137です。追加の「診断」情報を取得する方法がわかりません。
アップロードを続行するために、スクリプトをwhileループに入れました。
python3 upload_files.py; \
while [[ $? == 137 ]]; do \
python3 upload_files.py; \
sleep 1; \
done
ただし、スクリプトが終了するとwhileループが終了するため、このトリックは機能しません。馬になる?
答え1
成功するまで常に同じスクリプトを再起動するには、次のようにします。
while ((1)) ; do
python3 script.py && break
done
つまり、Pythonが正常に完了した後にのみ無限ループを破棄します。それ以外の場合は、無限ループが引き継がれ、スクリプトを再起動します。