Linux:在前台运行cron作业

时间:2012-10-07 17:59:20

标签: linux cron foreground

在Linux中,有没有办法在前台(或交互模式)运行cron作业? (我有一个程序定期运行以接受用户输入并进行一些处理。所以我想将它安排为可以在前台运行的cron作业。)

4 个答案:

答案 0 :(得分:9)

在您的用户crontab上试试这个:

@hourly DISPLAY=:0 xterm -e /path/to/my/script.sh

它将在您的脚本执行时打开(每小时)xterm,并在脚本退出后退出。当然,您应该修改@hourly部分以满足您的需求。

答案 1 :(得分:2)

对于GUI中的cron脚本,请尝试shell中的以下行:

crontab -e

然后在crontab

0 7 * * * DISPLAY=:0 /PATH/TO/SCRIPT

答案 2 :(得分:1)

假设您正在运行X,您可以随时在选定的显示器上打开一个窗口。

答案 3 :(得分:0)

如果没有gui且只有终端,请将出口转移到tty 执行“ tty”,它将返回您要将输出重定向到的设备,例如在Centos中,它将类似于/ dev / pts / 0,然后在crontab -e中 你写 1 * * * *用户sh / PATH / TO / SCRIPT> / dev / pts / 0 根据需要调整crontab中的时间。只有在有人打开该终端的情况下,它才会运行

该问题的标题正在寻找什么 Linux:在前台运行cron作业 答案是nohup command_to_run& 1 * * * * nohup用户sh / PATH / TO /脚本& nohup允许像执行开放终端一样执行脚本,并解决了执行crontab的问题。 我的意思是例如当我们创建脚本时 #! / bin / bash

回声“我弥补了” 然后我们等待回声的输出对其进行处理。例 回声“我弥补” 如果[[$? -gt 0]] 然后 用echo的输出做些事情

回声执行响应是通过tty终端中的stdout获得的,但从crontab“没有tty”获得,并且发生崩溃,并且crontab不执行该应用程序。这可以通过nohup解决。更多信息 哥们啊