linux - 将多个 bash 脚本作为单独的作业启动

标签 linux bash unix

我有这个:

 cat jobpaths.txt | while read LINE; do
     cd $LINE
     ./run_scrape.sh
     cd ..
     cd ..
     cd ..
     setsid
 done

它应该从 jobpaths.txt 中读取一个 3 级子目录(例如/foo/bar/foobar。然后 cd 进入该目录并启动脚本。同名脚本存在于 jobpaths 中列出的所有子目录中。文本文件。

cd .. 时间 3 应该回到初始目录。

setsid 应该在对 txt 中的所有目录执行相同操作之前启动一个新的 cpu 线程。

然而,它只是启动了第一个作业。

最佳答案

这行吗:

cat jobpaths.txt | parallel 'cd {} && ./run_scrape.sh'

它将为每个核心运行一个作业,直到完成所有作业。

关于linux - 将多个 bash 脚本作为单独的作业启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53806785/

相关文章:

perl - 在远程机器上查找/tmp 中的可用空间

linux - 如何找到单词在字符串中的位置?

linux - 获取文本文件中以 "$"结尾的行

php - 如何通过 CGI 接口(interface)调用我的 C++ 二进制文件?

python - 独立地执行 stdout 和 stderr,不增加抖动

linux - 测试目录中的所有文件是否具有正确的权限

c - 如何在Unix中使用递归函数实现find()函数(用C语言)

c++ - 使用 gdb/dbx 调试线程进程

linux - 登录 lightdm 后启动 shell 脚本

linux - 从命令行创建 Linux 虚拟机