1
讓我們假設我有一個C++程序產生輸出所有的時間這樣如何從背景獲取stdout?
#include <iostream>
using namespace std;
void main()
{
int i=0;
while(1)
{
cout << (i++)%10 << endl;
}
}
我現在要在一個遠程Linux服務器上的後臺運行此程序。如果我這樣做
nohup ./program &>/dev/null &
然後我根本沒有得到任何輸出。如果我做
nohup ./program &
所有的輸出寫入nohup.out洪泛我的硬盤。
如何在後臺關閉輸出,並在程序處於前臺時打開輸出到控制檯?
似乎您要求在登錄到遠程服務器時在終端上打印進程,並且不要打印任何文件當你註銷時。你能澄清你的具體情況下「背景」和「前景」之間的區別嗎? – sal
當我登錄到遠程服務器時,進程不應該打印到終端,不。在我告訴他「告訴我發生了什麼事」之前,它不應該在任何地方打印。然而,計算必須始終完成。 – JHnet
好的。你認爲如何告訴節目「告訴我發生了什麼事」?對我來說,就像你應該把你的程序放入一個邏輯。或者在一個包裝器外殼腳本中。 – sal