0
我可能失去了一些東西小,但有可能實現這個語法的POSIX(破折號)兼容的方式:POSIX sh的重定向
$ ./myApp 2> stderr.txt 1> stdout.txt
我知道幾許不能使用>&
,但必須使用2>&1
但我不想這樣做。我有大量的數據來stdout,我不想解析它來得到我的stderr。我覺得我錯過了一些非常簡單的東西,但我不能把手指放在它上面...
現在,當我運行上述命令時,我只獲得了幾行stdout(3),但它顯示在stderr文件和stdout是空的。我也嘗試過將它分組的各種方式,但我仍然沒有運氣。不知道是怎麼回事......
UPDATE
這是我正在運行,這樣就可以看到什麼,我試圖完成全部效果的實際命令格式:
$ LD_PRELOAD=/usr/lib/libtcmalloc.so /usr/bin/time -p myApp -c -f inputFile 2> stderr 1> stdout
這就是我提到過的,我嘗試過使用()組合多個變體。此外,可執行myApp
不分叉。
我認爲這個命令會的工作,但我發現,否則:
$ LD_PRELOAD=/usr/lib/libtcmalloc.so /usr/bin/time -p (myApp -c -f inputFile) 2> stderr 1> stdout
此語法應該工作。你是否試圖對同一個文件執行多個命令? (你的過程是否分叉?) – Random832
@ Random832我更新了問題以更好地描述我在做什麼。此外,我的應用程序中沒有分叉動作。 – Caleb
您可能會受到'時間'輸出的干擾。你可能需要'時間sh -c'包括重定向在內的所有東西'(除非你想重定向_is_輸出時間) – Random832