[英]C system call fails from second time on
我正在運行一個程序,給定點執行system
調用以壓縮一些文件。
第一次運行正常,但下一次(以及下一次)失敗並顯示 -1 錯誤代碼。
sprintf(zip, "zip -q -T -m -r %s/datsiter%d.zip %s/*%d.dat", dir, it_number, dir, it_number);
ierr = system(zip);
printf("Output:%s %d\n ",zip, ierr);
輸出是:
Output:zip -q -T -m -r results/datsiter0.zip results/*0.dat 0
Output:zip -q -T -m -r results/datsiter1.zip results/*1.dat -1
Output:zip -q -T -m -r results/datsiter2.zip results/*2.dat -1
如果運行后我手動執行命令,它會按預期工作。
編輯按照 kaylum 的建議,我添加了perror("Error: ");
就在system
調用之后,拿到了鑰匙。 一個很好的Cannot allocate memory
,我必須仔細檢查,因為我在一個帶有隊列系統的集群中工作。
按照 kaylum 的建議,我添加了 perror("Error:"); 就在系統調用之后,拿到了鑰匙。 一個很好的無法分配內存,我必須仔細檢查,因為我在一個帶有隊列系統的集群中工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.