linux shell 脚本运行完毕后不能自动停止

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux shell 脚本运行完毕后不能自动停止相关的知识,希望对你有一定的参考价值。

我在运行linux shell 脚本后,不能正常的停止,请问是什么原因呢?

附脚本内容:

#!/usr/bin
ana_dir=/home/wangkangcheng/preprecess/cs_2013
subjects_list=$ana_dir/scripts/subjects_all.list

for subject in `cat $subjects_list`
do
dcm2nii -g y -o $ana_dir/$subject $ana_dir/dicom/$subject &
done

在命令中只是 想着使用&,进行并行处理,但是全部数据跑完之后,就不动了,没有显示终止的现象,请问是什么原因呢?

参考技术A 我觉得你是这个地方出问题:
dcm2nii -g y -o $ana_dir/$subject $ana_dir/dicom/$subject &

这个&号,是让程序在后台运行,不会自己停止的。
你可以去掉这个&试试你的程序追问

去掉后,机器是一个人一个的数据在运行。然而我想着许多被试的一起跑,怎么通过命令实现呢?

参考技术B 最简单方法:
其实,你按一下回车就可以知道是否"结束"了吧?

更好的办法:
你在done后面加多两行:

------------代码开始------------
wait
echo "All is ok"
exit 0
------------代码结束------------

参考资料:
wait 命令
http://book.51cto.com/art/201205/338877.htm本回答被提问者和网友采纳
参考技术C 你的程序是有问题的,你发私信给我嘛 , 我帮你处理一下

以上是关于linux shell 脚本运行完毕后不能自动停止的主要内容,如果未能解决你的问题,请参考以下文章

一个linux shell脚本 为啥 不能自动退出呢

Linux shell脚本启动 停止 重启jar包

求问 BAT脚本如何自动执行 adb shell 以后的命令

Linux shell脚本如何自动运行程序并输入命令

编写一个linuxshell脚本,运行它提示输入你的姓名,当你输入完毕之后程序再次将你输入的结果显示在屏幕上。

linux怎样一次运行多个shell脚本?