1

DCMD と呼ばれる Linux コマンドを実装する必要があります。これには次の機能があります。入力で指定された特定の日時に、別のデフォルトの Linux コマンドを実行する必要があります。

要するに、次のように書く必要がありますdcmd "command" "date and time"

問題は日付や時間ではありません。実際、私はそれを適切に管理できます。将来を見据えている場合、日、月、年が正しい場合など..また、コマンドについては、方法を理解したと思いますそれを処理するには:システムコール「execlp」を使用しましたが、正しく実行されました。

さて、この時点では、コマンドとデータをマージする方法、つまり、指定された時間に次のコマンドを実行する方法がわかりません。

誰かが私にやり方を説明してもらえますか?

4

2 に答える 2

2

Linux では、cronまたはを使用atして、後で実行するジョブをスケジュールします。

cron : 特定の日付で cron ジョブを指定します。コマンドを次のようにフォーマットminute hour day month ? year commandし、crontab ファイルに追加します。cronその後、ジョブを1回だけ実行します。crontabcrontab ファイルを処理するために使用します。crontab の man ページ

at command : 構文: at [-V] [-q queue] [-f file] [-mldbv] TIME stdin at でスクリプトを実行しますTIME-fまたは、フラグ付きのファイルでスクリプトを実行します。at の man ページ

于 2012-05-15T20:45:02.033 に答える
0

追加情報:これは、「at」または「crontab」の機能の一部を再実装する必要があるオペレーティングシステムの割り当てです。

私はこの問題を解決する方法を見つけました。

まず最初に「フォーク」を呼び出し、次に子プロセスで「execlp」を呼び出し、親プロセスが続行します。

コマンドを遅らせたい場合は、子プロセスで「スリープ」と呼びます(数日前に教授にこの点について尋ねたところ、彼は大丈夫だと言っていました)。

しかし、私はこの質問があります:それは有効な方法ですか?このメソッドはゾンビプロセスを作成しますか?

于 2012-05-21T16:02:52.083 に答える