如何在linux上编写命令

时间:2012-05-15 20:28:14

标签: c linux operating-system

我必须实现一个名为DCMD的linux命令,它具有以下功能:它必须执行另一个默认的linux命令到某个日期和时间,两者都在输入中指定。

简而言之,我应该这样写:dcmd "command" "date and time"

问题不是日期或时间,事实上我可以正确管理它,如果它是展望未来,如果日,月和年是正确的等等。 另外命令我认为我已经弄清楚如何处理它:我使用系统调用“execlp”并且它运行正常。

那么,此时我不知道如何合并命令和数据,也就是说,在指定的时间运行以下命令。

有人可以向我解释怎么做吗?

2 个答案:

答案 0 :(得分:2)

在Linux上,使用cronat来安排作业以便以后运行。

cron :使用您的具体日期指定一个cron作业。将命令格式化为minute hour day month ? year command并将其添加到crontab文件中。 cron然后只会运行一次。使用crontab处理您的crontab文件。 Man page for crontab

at command :语法:at [-V] [-q queue] [-f file] [-mldbv] TIMETIME的stdin上运行脚本。或者,在具有-f标志的文件中运行脚本。 Man page for at

答案 1 :(得分:0)

附加信息:这是一个操作系统分配,我必须重新实现" at"的一些功能。或" crontab"。

我找到了解决这个问题的方法。

首先我应该调用" fork"然后在子进程中我应该调用" execlp",同时父进程继续。

如果我想延迟命令,我会打电话给"睡觉"在孩子的过程中(几天前我向教授询问了这一点,他说这很好)。

但我有这个问题:它是一种有效的方法吗?这种方法是否会创建僵尸进程?