gpt4 book ai didi

linux - Bash Shell 脚本远程后台处理

转载 作者:太空宇宙 更新时间:2023-11-04 10:52:18 26 4
gpt4 key购买 nike

我已经创建了一个 Bash Shell 脚本。有了它,我可以在本地裁剪和转换视频。

nohup ffmpeg -i "$c1" -vf "$crop_value1" -b 1800k "/home/Cropped/""$name1"_cropped.mp4"" > crop1.txt &
PID1=$!
nohup ffmpeg -i "$c2" -vf "$crop_value2" -b 1800k "/home/Cropped/""$name2"_cropped.mp4"" > crop2.txt &
PID2=$!
nohup ffmpeg -i "$c3" -vf "$crop_value3" -b 1800k "/home/Cropped/""$name3"_cropped.mp4"" > crop3.txt &
PID3=$!
nohup ffmpeg -i "$c4" -vf "$crop_value4" -b 1800k "/home/Cropped/""$name4"_cropped.mp4"" > crop4.txt &
PID4=$!
wait $PID1
wait $PID2
wait $PID3
wait $PID4

如上代码所示,我在本地服务器的后台使用 4 转换,并且我正在使用等待 PID 来检查对话是否完成。

我的问题是转换时间很晚。所以我想通过 SSH 在本地服务器中转换一个转换,在不同的远程服务器中转换另外三个示例:

ssh user@192.168.1.1 "nohup ffmpeg -i "$c1" -vf "$crop_value1" -b 1800k "/home/Cropped/""$name1"_cropped.mp4"" > crop1.txt &"

我的问题是在执行远程命令后如何获取远程 PID 并为所有远程连接使用 PID 等待选项。

最佳答案

ssh命令放在后台,而不是远程命令:

ssh user@192.168.1.1 "nohup ffmpeg -i "$c1" -vf "$crop_value1" -b 1800k \
"/home/Cropped/""$name1"_cropped.mp4"" > crop1.txt" &
PID1=$!

顺便说一句,您不需要为每个后台进程使用 wait 命令。如果您不带任何参数运行 wait,它会等待所有后台进程。

关于linux - Bash Shell 脚本远程后台处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30395816/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com