【3/18〜】Amazon、VMwareが語る『クラウドの未来』 スラッシュドット    はてなブックマーク  Yahoo!ブックマークに登録  印刷

 

Linux Tips

一定の時間後にプログラムを実行するには

北浦訓行
2001/2/22

 一定の時間後にプログラムを実行するには、sleepコマンドやatコマンドを使用する。

 sleepは、指定した時間だけシェルの実行を停止するコマンドだ。従って、

$ sleep 10;import -window root capture.tif

のように指定すると、10秒後にimportコマンドが実行される。sleepでは、引数として停止する時間を指定する。デフォルトの単位は秒だが、数字の後にm(分)、h(時間)、d(日)を追加して、単位を変更することができる。例えば、以下のようにすると、10分後にlsコマンドが実行されることになる。

$ sleep 10m;ls

 sleepコマンドを実行している間は、当然のことながらそのシェルでの作業ができない。別にシェルを起動すればこの問題はクリアできるが、atコマンドを使えば、もっとスマートだ。

 atは、指定した時間にジョブを実行するためのコマンドだ。atコマンドは、atdというデーモンが起動していなければ使えない。多くのディストリビューションでは自動実行されているはずだが、一応以下のコマンドで確認する。

$ ps ax | grep atd
  381 ?        S      0:00 rpc.statd
  487 ?        S      0:00 /usr/sbin/atd
 1537 pts/0    S      0:00 grep atd
$

 さて、atコマンドで実行するジョブを指定するには、標準入力から指定する方法と、ファイルに記述したコマンドを実行させる方法がある。

 標準入力から指定するには、以下のように行う。

$ at now + 1 hour
at> ls
at> date
at> ([Ctrl]+[D]キーを押す)
warning: commands will be executed using /bin/sh
job 8 at 2001-02-09 14:38
$

 ファイルに記述したコマンドを実行させるには、

ls
date

などと記述したファイル(ここでは「at-test」という名前)をテキストエディタで作成しておき、-fオプションでそのファイルを指定する。

$ at noon -f at-test
warning: commands will be executed using /bin/sh
job 10 at 2001-02-09 14:46
$

 指定したコマンドの実行結果が表示される場合は、メールでその内容が実行を指定したユーザーあてに送られる。例えば、上記の例のように、lsとdateコマンドを指定した場合は、ディレクトリの一覧とdateコマンドの結果が送られることになる。

 atコマンドで予約したジョブを見るには、atqコマンドを使用する。また、予約したジョブをキャンセルするには、キャンセルしたいジョブ番号を引数として指定して、atrmコマンドを実行する。

$ atq
8       2001-02-09 14:38 a
$ atrm 8
$ atq
$

 時間の指定では、MM/DD/YYやhh:mmといった形式のほかにも、now、am、pm、noon、midnight、teatime、sun、mon、todayなどの時間を表す言葉が使用できる。これらは、timespecというファイルに記述してある。timespecの場所は、ディストリビューションによって異なるので、locateまたはfindコマンドで検索するとよい。ちなみに、VineLinux 2.1は/usr/doc/at-3.1.7/に、Turbolinux Workstation 6.0は/usr/share/doc/packages/at-3.1.8/にある。

Linux Tips Index



 Linux Squareフォーラム Linux Tipsカテゴリ別インデックス
インストール/RPM ブート/ブートローダ
ファイル操作 環境設定
ユーザー管理 コンソール/ターミナル
X Window System セキュリティ
トラブルシューティング 他OS関係
ネットワーク ハードウェア
Webサーバ Samba
GNOME KDE
OpenOffice.org エミュレータ
ソフトウェア そのほか/FAQ
全Tips公開順インデックス Linux Tips月間ランキング
Linux Squareフォーラム全記事インデックス

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します

ホワイトペーパーTechTargetジャパン

Linux Square フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

スキルアップ/キャリアアップ(JOB@IT)



- PR -
- PR -

お勧め求人情報

キャリアアップ 〜JOB@IT
@IT Special -PR-
  TomcatやJBossなどAPサーバ環境に関する
情報を集約! “業務”用APサーバ大百科

New!
  一気に解説! 最新のクラスタストレージ
「RAIDを超えたストレージ基準」……など

New!
  クラウド的ユーザー体験の変化は脅威か?
仮想化技術を使いこなす運用管理術を紹介

New!

  上司や部下、部署内メンバーとの情報共有
を“ガラッ”と変えるコラボツールとは?

New!
  おばかアプリ選手権、第4弾開催中!!
ムダにカッコよくてくだらない作品求ム!

  社内ファイルサーバを“クラウド”に統合
VPN直結「クラウド型ストレージ」を紹介

  Twitterのアカウントはなぜ突破された?
メールによる新手の攻撃手法とその対策

  もう仮想化のお試しフェイズは終わりだ!
Hyper-V 2.0が基幹システムも仮想化

  美人!? まあまあ? 気になる いやし系!!
PV急増で「美人時計」がとった手段とは?

  クライアント企業から求められる人材
⇒IT技術と経営戦略を併せ持つ「戦略家」

  .NET編集長が実践する「技術情報検索術」
サンプル・コードを簡単に探す“技”は?

  業務効率と情報セキュリティ対策を両立!
手間なく確実に機密情報を守る方法とは?

  進化を続ける富士通ストレージETERNUS DX
製品開発者の自信を裏付けるものとは何か

  運用管理の課題を“2つの観点”から分析
ユーザー満足度の高い「仮想環境」とは?

  【CTC事例】約30の基幹システムを統合!
膨大なバッジジョブを制御した方法は?

  仮想化すればコストは削減できるか?
仮想化に必要な「3つの視点」を解説する

  その数、なんと400台以上! グループ内
サーバの「統合管理」によるメリットは?