[英]How can crontab print messages in console?
嗨,我是Linux的新手:D
我制作了一個crontab程序,它應該每隔3分鍾在控制台中打印當前時間。
我在下面做了什么。
我做了一個crontab。 在終端中,命令“ crontab -e
”並添加短語“ */3 * * * * /home/user/a.out
”
a.out是“ gcc WowCron.c
”的結果文件。
代碼如下。
int main (int argc, char* argv[]){
time_t now;
time(&now);
printf("this is what we call cron does: %s\n", ctime(&now));
return 0;
}
當單獨運行時,它運行得非常好。
然后我在終端運行了“ service cron restart
”命令。 現在,當我命令“ crontab -l
”時,我可以看到我在crontab中寫的消息。
問題是某種程度上我覺得它有效,但從不打印時間信息。
問:如何每3分鍾打印一次這個打印時間?
Cron觸發一個新的進程在后台啟動。 您通過終端(這是一個進程)配置它,但它與該終端無關。 每個進程都有自己的STDOUT,STDIN,STDERR,因此cron任務在一個新進程上,它不會打印到你的終端進程'STDOUT
正如tripleee所說,如果你想要它打印syslog是一個好去處,或者你可以將它附加到你選擇的文件。
如果您只是希望程序在終端中以一定的時間間隔運行,那么Shell腳本可能是更好的選擇:
while :
do
date
sleep 180
done
或者您可以用“./a.out”替換“date”函數並從同一目錄運行它
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.