Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux crontab如何在控制台中打印消息?_Linux_Cron_Printf_Scheduling_Crontab - Fatal编程技术网

Linux crontab如何在控制台中打印消息?

Linux crontab如何在控制台中打印消息?,linux,cron,printf,scheduling,crontab,Linux,Cron,Printf,Scheduling,Crontab,嗨,我对Linux真的很陌生:D 我制作了一个crontab程序,它应该每3分钟在控制台中打印一次当前时间 下面是我所做的 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; } 我做了一个crontab。在终端,命令 “crontab-e”并添加短语“*

嗨,我对Linux真的很陌生:D

我制作了一个crontab程序,它应该每3分钟在控制台中打印一次当前时间

下面是我所做的

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;
} 
  • 我做了一个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;
    } 
    
    当单独运行时,它工作得非常好

  • 然后,我在终端中运行了一个“
    服务cron restart
    ”命令。 现在,当我命令“
    crontab-l
    ”时,我可以看到我在crontab中编写的消息

  • 问题是,我认为它可以工作,但从不打印时间信息


  • 问:如何每3分钟打印一次?

    来自
    cron
    作业的标准输出不会出现在控制台上。尝试使用该设备

    或者,如果您不需要将其集成到您自己的更大的C程序中,请使用命令

    (系统日志已包含时间戳。)


    cron作业的任何标准输出和标准错误最终都会通过电子邮件发送给作业所有者。也许你应该检查你的邮箱,或者你的电子邮件工作不正常?

    Cron会在后台启动一个新的进程。您可以通过终端(这是一个进程)对其进行配置,但它与该终端无关。每个进程都有自己的STDOUT、STDIN、STDERR,因此当cron任务位于新进程上时,它不会打印到终端进程的STDOUT

    正如tripleee所说,如果您想打印syslog,那么它是一个好地方,或者您可以将它附加到您选择的文件中

    如果您只是希望程序在终端中以一定的时间间隔运行,那么Shell脚本可能是更好的选择:

    while : 
    do
        date
        sleep 180 
    done
    

    或者您可以将“date”函数替换为“..a.out”,并从同一目录运行它

    我的书写有什么问题?我的C代码完全崩溃了!!!无论如何,该代码没有什么特别之处,只是打印当前时间。无需重新启动
    cron
    。它每次运行时都会读取所有的crontab,这样任何用户都可以随时更新它们的crontab,并立即看到结果。@tripleee那么服务cron restart命令的目的是什么?这只是一个无用的行为吗?无论如何,谢谢你的回答。