今回は、処理の強制終了の仕方と
任意の終了コードを返す方法を解説していきます
■ 処理の強制終了
sysモジュールをインポートし、
exit関数を使うことで処理を強制終了できます。
____________________
【exit_test.py】
# sysモジュールのインポート
import sys
print(1)
print(2)
print(3)
# 強制終了
sys.exit()
print(4)
print(5)
# 【出力結果】1
# 2
# 3
____________________
このように、後続の処理が行われず
処理が強制終了されたことが分かります。
■強制終了し、任意の終了コードをシェルに返す
ここでは応用編として
・main.shでexit_test.pyを動かす
・exit_test.pyで終了コード255を返す
・受け取った終了コードを出力
という処理を作っていきます。
____________________
【exit_test.py】
# sysモジュールのインポート
import sys
print(1)
print(2)
print(3)
# 強制終了 終了コードは0~255で指定
sys.exit(255)
print(4)
print(5)
____________________
_______________
【main.sh】
#!/bin/sh
#カレントディレクトリをここにする
cd `dirname $0`
python3 exit_test.py
echo $?
# 【出力結果】1
# 2
# 3
# 255
_________________
このように、Pythonの処理の終了コードを
シェルに返すことが出来ました。
ちなみに、直前の処理の終了コードは
$? という変数に格納されます。
現場からは以上です!