小编Bah*_*mut的帖子

如何获取远程Linux bash脚本中执行的程序的PID

我在 Mac 计算机上通过 ssh 访问 Linux 计算机来运行模拟。我目前正在并行运行多个命令(我将它们放在后台 & 中),当它们完成时,我提取感兴趣的文件,然后删除所有命令输出并重做它。

我想知道是否可以使用 PID 检查这些任务是否完成,以便自动提取所需的文件并再次启动完全相同的命令。我在这里发布一条消息,以了解如何获取通过 ssh -c 执行的命令的 PID,这不是我完成的(因为我在远程 Linux 中)。

我尝试了how-to-get-pid-of-just-started-process中所示的解决方案来获取PID,但都没有$! ssh -c 和 jobs -p 都没有给我正确的 PID。我想知道它是否不起作用,因为我正在远程访问(htop 中出现的命令是 ssh -c ...)或者我只是做得很糟糕。

这是我的第一个 bash 脚本:

#!/bin/bash

./createFiles.sh $1 # create the needed $1 folders

for i in $(seq 1 $1)
do
    cd $i
    myCommand &
    cd ..
done
Run Code Online (Sandbox Code Playgroud)

当这个完成后,我使用:

#!/bin/bash

for i in $(seq 1 $1)
do
    cd $i
    cp output/file.txt ../file_$2_$i.txt # $2 is the number of the run …
Run Code Online (Sandbox Code Playgroud)

bash process ssh shell-script

6
推荐指数
1
解决办法
2115
查看次数

标签 统计

bash ×1

process ×1

shell-script ×1

ssh ×1