为什么cron邮件我的程序输出,即使我已经redirect到/ dev / null?

我试图通过cron重新启动系统进程,并通过电子邮件发送进程的启动输出。 我认为redirectSTDOUT和SDTERR到/ dev / null会“沉默”的输出,但唉,这是行不通的。 我怎样才能让cron静静地重启这个服务? crontab项目:

0 6 * * * service sympa stop &>/dev/null; service sympa start &> /dev/null 

重新启动电子邮件的样本输

  Stopping Sympa bounce manager bounced ...done. * Stopping Sympa task manager task_manager ...done. * Stopping Sympa mailing list archive manager archived ...done. * Stopping Sympa mailing list manager sympa ...done. ... waiting Prototype mismatch: sub Lock::LOCK_SH () vs none at /home/sympa/bin/Lock.pm line 38. Constant subroutine LOCK_SH redefined at /home/sympa/bin/Lock.pm line 38. Prototype mismatch: sub Lock::LOCK_EX () vs none at /home/sympa/bin/Lock.pm line 39. Constant subroutine LOCK_EX redefined at /home/sympa/bin/Lock.pm line 39. Prototype mismatch: sub Lock::LOCK_NB () vs none at /home/sympa/bin/Lock.pm line 40. Constant subroutine LOCK_NB redefined at /home/sympa/bin/Lock.pm line 40. 

我想你会想要下面一行

service sympa stop >/dev/null 2>&1

第一个命令将stdout发送到/dev/null那么2>&1会将stderr (standard error)发送到stdout(standard output)所在的位置,即/dev/null导致输出被禁止。