Top  PC情報Top
表題を実現するために下記の方法が必要になります。
①pdbを使用してブレークポイントを設定する
②コマンドを遅延して実行する方法
③時間をリアルタイムに表示する方法
それでは一つずつ順番に説明していきましょう。

①pdbを使用してブレークポイントを設定する
説明のために使用するpythonのソースコードはtest.pytest2.pyです
python3 -m pdb test.py
上記コマンドを実行すると、python用デバッグツールのpdbを使用して、test.pyを実行することが可能です。
実行すると、下図の通りpdbの入力待ちの状態になります。

この状態で一瞬で動作完了する処理とぶつけたいpythonのコードにブレークポイントを設定しましょう。
ブレークポイントの設定方法には「ファイル指定あり」と「ファイル指定なし」があり、それぞれ下記の通りになります。
b /■■■/■■■/test/test.py:8
b 8
「ファイル指定なし」では、省略したファイル名はpdbで直接実行したファイルが設定されます。
「test.py」では「test2.py」を参照しています。
「test2.py」のコードにブレークポイントを設定する場合は下記の通り、「ファイル指定あり」で設定しましょう。
b /■■■/■■■/test/test2.py:3

ブレークポイントを設定した後は実行します。
実行するコマンドは下記の通りです
r
一文字なので逆に理解が難しいかもですが、「r」で実行可能です。

②コマンドを遅延して実行する方法
atコマンドを使用すれば指定時間に実行することが可能です。
なので、今回の件では、1分後(※)にコマンドを実行する方法を紹介します。
at -f test.sh now+1minute
上記コマンドを実行すれば、「test.sh」を1分後(※)に実行することが出来ます。
「test.sh」の中身は好きに設定していただいて構いませんが、バックグラウンドで実行されるため、
「echo 1 > test.txt」の様にファイル出力するとわかりやすいと思います。

※:上記に「1分後」と書きましたが、それについて少し説明を書きます。
例えば、12:34:56に実行すると、「1分後」は12:35:00になります。つまり秒は無視されます。
「それなら秒指定すればえ~やん」と思われるかも知れませんが、何故かそれは出来ません。
+n秒の指定は出来ず、やるなら時分秒指定の方法になります。でも、それだと繰り返し使用には適しません。


③時間をリアルタイムに表示する方法
「②コマンドを遅延して実行する方法」では分指定の方法を説明しました。
「でも、それだと『一瞬で動作完了する処理』とpythonをぶつけるのが難しい」と考えるでしょう。
そのために紹介するのが、「③時間をリアルタイムに表示する方法」です。
やることは簡単。下記のコマンドを実行するだけです。
watch -n 1 date
上記コマンドを実行すると、下図の通り1秒単位で更新される時計の出来上がりです。

ただし、このコマンドは一つのターミナルを占有します。
なので、pythonを実行するターミナルとは別に、時計用のターミナルを用意しましょう。