簡體   English   中英

C 系統調用從第二次開始失敗

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM