• ベストアンサー

Linuxで、10分だけ、アプリを起動させるには?

Linux(ubuntu)には、Winのタスクみたいなものってありますか? 自作アプリなんですが、OS側で、定時に、10分だけ、動かしたいのですが。 定時は、Cronとかを使うんですよね? それは分かるんですが、10分というのが分からなくって。

質問者が選んだベストアンサー

  • ベストアンサー
  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.3

素数を求めるプログラムということですが 起動毎に毎回最初から計算するようなものであるなら単純にkillでいいですけど 次回起動時に計算を継続させたいのでしたら、 その仕組みをプログラムに組み込んでおく必要がありますよ。

nazotarou
質問者

お礼

あー、Winのタスクだと、時間終了の際、アプリの終了時に、データ保存とかできたのですが、LinuxのKillだと、その暇もないのかな? Killだと、にべもなくばっさりって気もするしなー。 Winの強制終了っぽいのかな? もう少し調べてみますわ。 ありがとうございました。

その他の回答 (2)

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.2

「10分だけ動かしたい」というのは具体的にどういうことですか? 手動で終了させない限り無限に動き続けるアプリを、起動後10分後に終了させたい ということなら、 #!/bin/sh application & PID=$! sleep 600 kill $PID というスクリプトをcronから動かせば良いです。

nazotarou
質問者

お礼

でも、そういう方法もあるんですね、少し調べてみたいと思います。 ありがとうございました。

nazotarou
質問者

補足

具体的には、素数を探し続けるプログラムを作ったので、それを毎日10分間だけ続けたいなー、と。 その間は、私はPCには触りませんし、近くにもいない状態です。 なので、完全に毎朝、自動で10分間だけ動かしたいのですが。 プロセスを切るのは、知っているのですが、どうやって起動したアプリのプロセスを取得するのかなー?と。

  • ttoo1932
  • ベストアンサー率0% (0/1)
回答No.1

はじめまして。 思ったことを書ききまね。 シェルでもperlでもスクリプトを書いて、そのスクリプトをcronで回せばよいのではないでしょうか。 単純に一つのスクリプトの中で、自作アプリを起動 → 10分wait → 自作アプリの停止 といった流れで書いてみてはどうでしょう? 自作アプリがどういった形で起動、停止をするものかは分かりませんが、停止はpsコマンドでプロセスを監視し、停止する形を取れば期待通り停止もできますし。 自作アプリとのことですので、そこまでいろんなことを意識しなくても良いと思ったので、最も単純な方法をイメージしてみました。 頑張ってください。

関連するQ&A