九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
nohup命令重定向標(biāo)準(zhǔn)輸出和錯(cuò)誤輸出

命令:command > /dev/null  2>&1 &

輸出到/dev/null表示輸出重定向到黑洞,即輸出內(nèi)容不打印到屏幕上,null是/dev下空設(shè)備文件。

 :代表重定向到哪里,例如:echo "123" > ./123.txt
 :表示stdout標(biāo)準(zhǔn)輸出,系統(tǒng)默認(rèn)值是1,所以">/dev/null"等同于"1>/dev/null"
 :表示stderr標(biāo)準(zhǔn)錯(cuò)誤
 :表示等同于的意思,2>&1,表示2的輸出重定向等同于1

 

一. 依據(jù)上面所述,下面兩種輸出效果一致:

 

[root@guangzhou study]# cat print.php
<?php
echo "hello,world\";
[root@guangzhou study]# php print.php > print.log
[root@guangzhou study]# php print.php 1> print1.log
[root@guangzhou study]# cat print.log
hello,world.
[root@guangzhou study]# cat print1.log
hello,world.

 

 完整命令: command 1> 日志文件 (或者 command > 日志文件)

 

二. 現(xiàn)在嘗試標(biāo)準(zhǔn)錯(cuò)誤輸出,故意修改造成print.php文件報(bào)語法錯(cuò)誤,執(zhí)行代碼后打印兩個(gè)日志文件均為空。

 

[root@guangzhou study]# cat print.php
<?php
//echo "hello,world.\n";
aaa "hello,world.\n";
[root@guangzhou study]# php print.php 1> print1.log
PHP Parse error:  syntax error, unexpected '"hello,world.\n"' (T_CONSTANT_ENCAPSED_STRING) in /opt/www/study/print.php on line 3
[root@guangzhou study]# php print.php > print.log
PHP Parse error:  syntax error, unexpected '"hello,world.\n"' (T_CONSTANT_ENCAPSED_STRING) in /opt/www/study/print.php on line 3
[root@guangzhou study]# cat print.log
[root@guangzhou study]# cat print1.log 

 

可見標(biāo)準(zhǔn)輸出不能程序的錯(cuò)誤輸出。

現(xiàn)在改成2使用錯(cuò)誤輸出重定向錯(cuò)誤日志,執(zhí)行程序后打印可見錯(cuò)誤信息。

 

[root@guangzhou study]# php print.php 2> print2.log
[root@guangzhou study]# cat print2.log
PHP Parse error:  syntax error, unexpected '"hello,world.\n"' (T_CONSTANT_ENCAPSED_STRING) in /opt/www/study/print.php on line 3

 

現(xiàn)在我們知道標(biāo)準(zhǔn)輸出和錯(cuò)誤輸出各自使用場景。(注意: 重定向符號“>”前的數(shù)字1/2中間必須在一起,中間不能有空格,不然重定向失敗。)

完整命令: command  2> 日志文件

 

另外可以將錯(cuò)誤輸出重定向到標(biāo)準(zhǔn)輸出的日志文件中:

 

[root@guangzhou study]# cat print.php
<?php
//echo "hello,world.\n";
aaa "hello,world.\n";
[root@guangzhou study]# php print.php > print.log 2>&1[root@guangzhou study]# cat print.php
<?php
echo "hello,world.\n";
[root@guangzhou study]# php print.php > print2.log 2>&1
[root@guangzhou study]# cat print.log
PHP Parse error:  syntax error, unexpected '"hello,world.\n"' (T_CONSTANT_ENCAPSED_STRING) in /opt/www/study/print.php on line 3
[root@guangzhou study]# cat print2.log
hello,world.

 

 

 

完整命令: command > 日志文件 2>&1

 

三. 有時(shí)程序可能要跑好一會,當(dāng)前命令行窗口需要處理其他事情的情況下,可以在命令末尾加上“&”符號,下面腳本一開始休眠10秒鐘:

 

[root@guangzhou study]# cat print.php
<?php
sleep(10);
echo "hello,world.\n";
[root@guangzhou study]# php print.php > print.log 2>&1 &
[2] 11641
#當(dāng)前窗口可執(zhí)行其他命令,如date命令
[root@guangzhou study]# date
2020年 09月 23日 星期三 10:52:38 CST
[root@guangzhou study]# cat print.log
hello,world.
[2]-  完成                  php print.php > print.log 2>&1

 

 完整命令: command > 日志文件 2>&1 &

 

四. 上面命令末尾加“&”符號只能用在窗口為關(guān)閉的情況,如需要關(guān)閉窗口后命令繼續(xù)運(yùn)行的可在命令開始處加上“nohup”符號:

 

[root@guangzhou study]# cat print.php
<?php
echo date('Y-m-d H:i:s') . "\n";
sleep(50);
echo "hello,world.\n";
echo date('Y-m-d H:i:s') . "\n";
[root@guangzhou study]# date
2020年 09月 23日 星期三 11:06:25 CST
[root@guangzhou study]# nohup php print.php > print.log 2>&1 &
[1] 14164
[root@guangzhou study]# date
2020年 09月 23日 星期三 11:06:32 CST

 

第二個(gè)date執(zhí)行后立即關(guān)閉當(dāng)前窗口,并新開窗口打印日志,可見兩次時(shí)間不足50秒:

[root@guangzhou study]# cat print.log
nohup: 忽略輸入
2020-09-23 03:02:59
hello,world.
2020-09-23 03:03:12

這里有一點(diǎn)忘記說明,關(guān)閉窗口前需要執(zhí)行exit,直接關(guān)閉窗口會導(dǎo)致nohup命令無法掛起。

我們重新跑一次 cat.php,   date,   nohup php print.php > print.log 2>&1 &,  date, 再加上exit命令,關(guān)閉當(dāng)前窗口并新開窗口,打印print.log文件可以發(fā)現(xiàn)時(shí)間間隔正好是50秒。

完整命令: nohup command > 日志文件 2>&1 &

 

ps: nohup命令是由 Command參數(shù)和任何相關(guān)的 Arg參數(shù)指定的命令,忽略所有掛斷SIGHUP信號。
如果不將 nohup 命令的輸出重定向,輸出將附加到當(dāng)前目錄的 nohup.out 文件中。如果當(dāng)前目錄的 nohup.out 文件不可寫,輸出重定向到 $HOME/nohup.out 文件中。 

 

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
linux命令之nohup
nohup、setsid、&和disown
Linux——讓程序在后臺運(yùn)行(四種方法+使用推薦)
Linux標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出、錯(cuò)誤輸出
查看進(jìn)程 查看日志
盤點(diǎn)逼格高又實(shí)用的Linux高級命令
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服