我有代碼象下面的ProcessBuilder java的UNIX命令
ProcessBuilder pb = new ProcessBuilder("bash", "-c",
" awk -f awkfile " + " file2 " + file1);
p = pb.start();
p.waitFor();
p.destroy();
pb = new ProcessBuilder("bash", "-c",
" awk -f awkfile " + " file3 " + outFile);
p = pb.start();
p.waitFor();
p.destroy();
pb = new ProcessBuilder("bash", "-c",
" awk -f awkfile " + " file4 " + outFile);
p = pb.start();
p.waitFor();
p.destroy();
awkfile具有內容
FILENAME==ARGV[1] {vals[$1FS$2FS$3] = ",Y"; next}
!($1FS$2FS$3 in vals) {vals[$1FS$2FS$3] = ",N"}
{$(NF+1) = vals[$1FS$2FS$3]; print > "outFile"}
第一運行的ProcessBuilder罰款。不過outFile具有完整輸出(I註釋剩餘代碼和測試)。當我包含第二個ProcessBuilder或第三個ProcessBuilder時,outFile不完整。 這是空間問題還是內存問題。 我不知道如何找到分配給我的主目錄的總空間。 du命令結果如下
du -s /home/xxxxx
19172 /home/xxxxx
df命令結果如下
df -k /home/xxxxx
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/rootvg-homelv 2064208 193068 1766296 10% /home
是可用上述1766296整個/ home目錄或者只是爲了我的家目錄/ home/XXXXX
請你指導我如何解決這個問題。
它是如何awkfile忽略'ARGV [0]'?另外,我建議參數化中間輸出文件名(即'ARGV [2]'),而不是在awk文件中對outFile進行硬編碼。 – gknicker 2014-12-11 03:36:06