シェルでの強制終了

OKWave

2007-09-25 13:00

シェルでの強制終了

通常で実行すると永遠と実行結果を出力するコマンドを、シェル内部にて実行して 内容をログに吐き出したいのですが停止方法がわかりません。
(ctrl+cと同じ事をシェル内部でやりたい。)

#!/bin/sh
prstat -t | awk '{print $2, $5}' > prstat.log

宜しくお願いします。

良回答

sleep XX -> kill はこの場合無効だと思われます。
(prstat -t だけだと永久ループのコマンドの為)

この場合は
prstat -t ではなく

prstat -t 1 300
としましょう。

意味合いとしては -t の出力結果を1秒毎更新、300回繰り返し
という意味です。
但しこの場合 prstat.log には300回実行分のログが残ります。

補足ですが prstat -t 300 1
とした場合 300秒毎に1回更新せよという意味になりますが
はじめの1回は一瞬で返ってくるので、これを1回とカウントしてしまうようです。

300秒後にもう1度実行させたい場合は prstat -t 300 2 とするが吉です。 但しこの場合もログには2回分の結果がのこります。

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ホワイトペーパー

新着

ランキング

  1. セキュリティ

    セキュリティ担当者に贈る、従業員のリテラシーが測れる「情報セキュリティ理解度チェックテスト」

  2. セキュリティ

    サイバー攻撃の“大規模感染”、調査でみえた2024年の脅威動向と課題解決策

  3. セキュリティ

    従業員のセキュリティ教育の成功に役立つ「従業員教育ToDoリスト」10ステップ

  4. セキュリティ

    IoTデバイスや重要インフラを標的としたサイバー攻撃が増加、2023年下半期グローバル脅威レポート

  5. セキュリティ

    急増する工場システムへのサイバー攻撃、現場の課題を解消し実効性あるOTセキュリティを実現するには

ZDNET Japan クイックポール

所属する組織のデータ活用状況はどの段階にありますか?

NEWSLETTERS

エンタープライズコンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]