如何理解计划任务中的这一行代码?

* * * * * php /home/vagrant/Code/larabbs/artisan schedule:run >> /dev/null 2>&1
* * * * * php /home/vagrant/Code/larabbs/artisan

可以理解为指定了一个地址?

schedule:run

执行这个方法?

 /dev/null 2>&1

那么这个呢?是什么意思呢?

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案

/dev/null 2>&1 分為兩部分

  1. /dev/null 是系統黑洞,也就是 >> 之前執行的輸出訊息全部丟進這個垃圾桶裡
  2. 在標準輸出中,stdin 是 0,stdout 是 1,stderr 是 2,所以他將 stderr 全部導到 stdout,stdout 又被導回 /dev/null,也就是不輸出

所以兩段加起來的結果就是 crontab 的執行不會有任何輸出
若要實際理解可執行以下指令

php artisan schedule:run >> /home/user/output.txt

應該就可在 output.txt 中看到 cron 執行結果

5年前 评论
讨论数量: 6

/dev/null 2>&1 分為兩部分

  1. /dev/null 是系統黑洞,也就是 >> 之前執行的輸出訊息全部丟進這個垃圾桶裡
  2. 在標準輸出中,stdin 是 0,stdout 是 1,stderr 是 2,所以他將 stderr 全部導到 stdout,stdout 又被導回 /dev/null,也就是不輸出

所以兩段加起來的結果就是 crontab 的執行不會有任何輸出
若要實際理解可執行以下指令

php artisan schedule:run >> /home/user/output.txt

應該就可在 output.txt 中看到 cron 執行結果

5年前 评论

>> 表示追加内容。

> 表示覆盖内容。

/dev/null 的意思是空设备。

1 表示 stdout 标准输出,系统默认就是它,所以 >> file.txt1>>file.txt 相等。

2 表示 stderr 标准错误

2>&1 表示将所有错误覆盖到标准输出。

* * * * * php /home/vagrant/Code/larabbs/artisan schedule:run >> /dev/null 2>&1 的意思就是执行 schedule:run 命令,然后将它所有的输出包括错误输出导向空设备,也就是什么都不输出。

5年前 评论

输入的信息全部扔掉。不过调试时最好输出到一个文件

5年前 评论

@xuanjiang1985 没有理解,是什么意思?

5年前 评论

/dev/null 2>&1 分為兩部分

  1. /dev/null 是系統黑洞,也就是 >> 之前執行的輸出訊息全部丟進這個垃圾桶裡
  2. 在標準輸出中,stdin 是 0,stdout 是 1,stderr 是 2,所以他將 stderr 全部導到 stdout,stdout 又被導回 /dev/null,也就是不輸出

所以兩段加起來的結果就是 crontab 的執行不會有任何輸出
若要實際理解可執行以下指令

php artisan schedule:run >> /home/user/output.txt

應該就可在 output.txt 中看到 cron 執行結果

5年前 评论

>> 表示追加内容。

> 表示覆盖内容。

/dev/null 的意思是空设备。

1 表示 stdout 标准输出,系统默认就是它,所以 >> file.txt1>>file.txt 相等。

2 表示 stderr 标准错误

2>&1 表示将所有错误覆盖到标准输出。

* * * * * php /home/vagrant/Code/larabbs/artisan schedule:run >> /dev/null 2>&1 的意思就是执行 schedule:run 命令,然后将它所有的输出包括错误输出导向空设备,也就是什么都不输出。

5年前 评论

@superSnail 前面的星号(*)是什么作用?

5年前 评论

@hehorange * 是 Linux crontab 任务中用来表示时间的字段,从左至右分别为分钟、小时、日、月、星期,分别有着各自的取值范围; * 表示任何时间,如果某个字段使用了 * ,则在满足其它字段制约的条件时,该字段的每个单位时间内都会执行一次该条任务;由于计划任务的执行频率是由框架控制的,所以此处所有的时间字段都被设置为了 *

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!