fifsky/ssh-action使用nohup命令后无法结束

缘起

fifsky/ssh-action@master是GitHub Action的一个插件,用于在GitHub Action中远程登录主机执行命令。

最近写了一个脚本,结果发现github action一直处于运行状态,实际已经执行完了,最后发现是执行nohup后,ssh-action无法判定命令是否结束。

解决

https://github.com/appleboy/ssh-action/issues/40

通过重定向所有输出解决

1
nohup python script.py > nohup.out 2> nohup.err < /dev/null &

For some reason, the action keeps waiting for stdin, stdout, and stderr. That’s why we need to redirect all three outputs to free the terminal. That’s all I could gather from this…