[問題] 指令丟到背景執行

看板Linux作者 (影)時間5年前 (2019/05/01 18:09), 5年前編輯推噓5(6110)
留言17則, 8人參與, 5年前最新討論串1/1
各位大大晚上好 我在使用dhclient 4.4.1版本時遇到一個問題 無法同時達到 把指令放到背景執行 也不印出任何訊息 嘗試過的方法: dhclient 有個參數是-q 沒有用處 還是有訊息噴出來 dhclient -q ... > /dev/null & => 可以背景執行 但當拿到IP時還是有套件的訊息噴出 nohup dhclient -q ... &> /dev/null & => 會多出[1]+ Done command的訊息 或是用 2>/dev/null & 也無法 困擾了很久 求大大指點一下方向QQ 謝謝~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.161.175.198 ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1556705387.A.ADE.html

05/01 18:36, 5年前 , 1F
看你用哪個發行版直接丟給systemd呀
05/01 18:36, 1F

05/01 20:59, 5年前 , 2F
2>&1 >/dev/null 也不行?
05/01 20:59, 2F
顛倒過來可行 謝謝~

05/01 23:16, 5年前 , 3F
用nohup
05/01 23:16, 3F

05/01 23:23, 5年前 , 4F
應該是 >/dev/null 2>&1 ,順序不能改
05/01 23:23, 4F

05/01 23:24, 5年前 , 5F
或簡寫成 &>/dev/null
05/01 23:24, 5F
兩個都可以! 謝謝~

05/02 00:24, 5年前 , 6F
出現的先後不影響呀, 那個 1 2 並不是出現的順序
05/02 00:24, 6F

05/02 00:24, 5年前 , 7F
1 是 std out, 2 是 std err
05/02 00:24, 7F

05/02 00:24, 5年前 , 8F
2>&1 代表把 std err 轉到 std out
05/02 00:24, 8F

05/02 00:25, 5年前 , 9F
再一起被 > 導到 /dev/null
05/02 00:25, 9F
對 順序有影響

05/02 01:15, 5年前 , 10F
呃我 man 了 bash 寫順序有影響
05/02 01:15, 10F

05/02 01:18, 5年前 , 11F
試試這個 ( echo abc; echo err >&2; ) 2>&1 >f
05/02 01:18, 11F

05/02 01:18, 5年前 , 12F
和這個 ( echo abc; echo err >&2; ) >f 2>&1
05/02 01:18, 12F

05/02 01:30, 5年前 , 13F
建議寫完整,因為Shell每個支援度不一樣
05/02 01:30, 13F

05/02 01:43, 5年前 , 14F
所以我一直都理解錯誤囉 @@
05/02 01:43, 14F

05/02 12:57, 5年前 , 15F
2>&1 > /dev/null 變成原本丟給 stdout 導向 /dev/null
05/02 12:57, 15F

05/02 12:58, 5年前 , 16F
然後原本透過 stderr 輸出的訊息透過 stdout 輸出
05/02 12:58, 16F
長姿勢 感謝各位大大的意見 Command >/dev/null 2>&1 & 可以放於背景 輸出的部分就剩[1]+ Done xxx 丟去問狗說可以加上括號就不會有[1]+ Done xxx (Command >/dev/null 2>&1 &) 解決了感謝T^T ※ 編輯: shadowsecret (42.72.212.121), 05/02/2019 20:41:56

05/05 21:03, 5年前 , 17F
原來subshell可以這樣用,學到一招了
05/05 21:03, 17F
文章代碼(AID): #1SoN1hhU (Linux)