我有一种情况,我提交了已经运行了五天的作业,但由于引入了一个错误,所有工作都可能丢失。我进行了“系统”调用来压缩数据文件,然后删除可能高达 4G 的原始未压缩文件。所以我在 C 代码中有这个
strcpy(command,"data"); ////I should added a forward slash here "data/"
sprintf(command,"%scompress -c -i %s -o %s",command,name,out_name);
system(command);
remove(name); /////This is the problem
该错误在 sprintf 行中,我想做的是在数据/压缩中调用程序,但由于缺少“/”,系统命令失败。因此产生的数据没有被压缩,然后原始文件立即被删除,让我一无所有!如果是压缩的就OK了。
目前有五个正在运行的作业处于这种状态。我需要以某种方式转移这种行为,以免我失去五天的工作。我正在考虑在当前目录中创建一个名为“datacompress”的假脚本来更改正在运行的程序的行为。我可以这样做还是有更好的选择,如果有的话?