Linux

為什麼將“腳本”重定向到 /dev/null/ 允許“螢幕”在作為另一個使用者被起訴時工作?

  • April 15, 2015

我被起訴到一個使用者執行一個特定的長時間執行的腳本。我想使用螢幕,但收到錯誤消息“無法打開您的終端 ‘/dev/pts/4’ - 請檢查。”

所以我用Google搜尋了一下,發現了一個論壇文章,上面寫著執行$ script '/dev/null/'。我這樣做了,然後我就可以篩選了。

為什麼這行得通?su 在做什麼那個螢幕不能作為被起訴的使用者執行?為什麼將“腳本”重新定向到 /dev/null 會被阻止?是否使用腳本將原始使用者的日誌寫入某處?

好吧,從技術上講,您不會在此處重定向任何內容。

呼叫script /dev/null只是script保存整個打字稿/dev/null實際上意味著丟棄內容。

有關man script詳細資訊,請參閱**util-linux-ng**包以實現 ( misc-utils/script.c)。

screen這與實際無關。為什麼這個工作是呼叫script具有為您創建一個偽終端的副作用/dev/pts/X。這樣您就不必自己動手,並且 screen 不會有權限問題 - 如果您su從使用者A到使用者B,通過直接呼叫screen您嘗試獲取使用者A的偽終端。除非您是root,否則這不會成功。這就是您看到錯誤消息的原因。

引用自:https://serverfault.com/questions/255521