我执行一个将大文件拆分为小文件的脚本。紧接着我问if (-f *filename) then ....
有时脚本未完成,因此if
无法运行。我尝试过sleep
,但这并不能解决问题。
我的脚本: split -l $number_lines - file2 < file1 >& /dev/null &
我应该如何使用“等待”?
谢谢你!
答案1
有几种方法可以彻底解决您的问题。
据我所知,您正在使用 C-Shell(我使用 Bash,但我与之交互的某些环境使用 TCSH。)。
满足您的要求的一种方法是系统性的面向过程的锁定。
进程锁定方法看起来最像这样:
#!/bin/csh
set process_id = $1
set sub_sequent_cmd = $2
set ANTECEDENT_PROC = XXYYZZ
#
while (pidof $ANTECEDENT_PROC)
do
sleep 10
if (pidof $ANTECEDENT_PROC)
then
sleep .1
else
./sub_sequent_command
break
fi
end
解决方案的前提才是最重要的。使用外部脚本监视过程,当前面的过程结束时,执行后续脚本。
仅当您重构要在导出的 csh 会话中调用的 csh 脚本时,这才有效。