Yuta NakataのBlog

Python / AWS / ITについて役立つ情報を発信します

【バックグラウンドプロセス】計算時間の長いタスクはお任せしよう

課題背景

このような場面はありますでしょうか?

プログラムAを使って、計算を回したい! ただし、このプログラムは計算時間が長く、待っているのが嫌だ!

このときに役に立つのが、バックグラウンドプロセスです。

バックグラウンドプロセスとは?

ユーザーに見えない状態で動作しているプログラム

です。

例えば、

sleep 60

と記載されているmain.shがあります。

このプログラムを実行すると、

この状態を60秒間待つことになります。

こうすると、

  • 他の操作はできない
  • EC2などの他のサーバー環境の場合、ログアウトもできない

など課題があります。

これを解決するのが、バックグラウンドプロセスです

使い方

結論、

./main.sh >& log.txt &

これでOKです。

main.shを実行し、結果をlog.txtに書き出してくれます。

上記のコマンドを実行後、ここでは64820というIDを持って、PCが作業してくれています。

ps

コマンドを打つと、実際に作業されているプロセスが確認でき、該当する番号があることもわかります。

計算時間の長い作業するときは、ぜひ使ってみてください。