linux - 如何同时触发多个nohup脚本?

标签 linux bash shell terminal nohup

我正在努力优化我的一些工作流程,想知道是否有人遇到了与我类似的问题。我一直在努力弄清楚如何同时启动多个“nohup”shell 脚本。例如,我有几个如下所示的脚本:

start.sh

rm nohup.out
nohup python -u script.py args

我尝试使用如下脚本运行它们:

start_option_1.sh

process_directory_1/start.sh & process_directory_2/start.sh ... (3-5 more of these)

像这样:

start_option_2.sh

process_directory_1/start.sh && process_directory_2/start.sh ... (3-5 more of these)

但没有骰子...脚本甚至不会启动。任何想法/帮助将不胜感激!如果这也很重要,请使用 python3.6(但似乎更多的是 nohup 问题)。

最佳答案

使用“&”和使用“&&”之间有很大的区别。第一个将在后台运行每个脚本。第二个脚本将按顺序执行它们,只要每个脚本都会返回成功(“exit 0”或等效值)。

从“start.sh”的上下文来看,您似乎想要第一个选项(一起启动所有脚本)。每个脚本都执行一个 python 程序“script.py”。该帖子没有指定初始工作目录中是否有一个脚本,或者是否有多个“script.py”(每个文件夹中有一个)。可能是第二个选择。

如果是这种情况,您希望从 process_directory_* 文件夹启动脚本。考虑进行更改:

( cd process_directory_1 && exec ./start.sh) &
( cd process_directory_2 && exec ./start.sh) &
...

注释:

  1. 所有脚本同时启动。
  2. 每个脚本都在不同的文件夹中执行,以访问该文件夹中的 script.py。
  3. 每个作业都会在运行文件夹“nohup.log”中留下日志。

关于linux - 如何同时触发多个nohup脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58893824/

相关文章:

c - mmap 需要 shm_open 吗?

python-3.x - Cron 不会导入 pandas 模块来执行 python 脚本。 ```导入错误: No module named pandas ```

shell - Sed/Awk 在文件中搜索和替换/插入文本

linux - 在 linux 中的帧缓冲区上显示 "Hello World"

linux进程地址空间解释?

bash - shell实现错误字符串/文件创建验证

bash - 使用撇号或引号从终端传递命令行参数

linux - 在 tcsh 中隐藏 stderr 和管道 stdout

shell - 为什么 xinetd 不能运行 shell 服务

java - 通过 java 执行 linux 命令时出错 - 参数类型 java.lang.String 的运算符 > 未定义