问一个 Linux 上 nohup 和后台任务的问题

2022-03-24 14:00:41 +08:00
 princelai

我有三台 Linux 机器,A,B,C,A 是服务器,B,C 是我使用的家用机

我有个 python 脚本,需要在 A 机器上运行,运行后就退出登陆,所以启动命令类似于

nohup python xxx.py &

这个脚本类似于 htop 命令,可以交互查看一些信息,但是需要持续在后台运行,输出也不需要重定向,查看要把任务调到前台来交互查看。

B,C 两个机器需要 ssh 到 A 机器,我想要 fg 把任务调出来查看,不用的时候还能够 Ctrl+z,bg 1 这个样子放到后台,但是需要用 nohup 方式,因为 ssh 过来是要退出的。

请问各位有什么办法能够实现吗?

3952 次点击
所在节点    Linux
27 条回复
findex
2022-03-25 06:24:40 +08:00
复杂的有 zdaemon, supervisord
系统内置的有 systemctl 我曾在 2016/2017 抨击过 systemd 这种管天管地管空气的做法,但是现在看来已经流行了,毕竟开源社区里面被混进了很多能对 feature 打对号的大公司的人,例如 redhat 公司。
还有原生 screen
还有 tmux
julyclyde
2022-03-25 11:52:10 +08:00
@oneisall8955 systemd 没办法“调到前台来”啊
julyclyde
2022-03-25 11:52:59 +08:00
@findex systemd 接管了“登录”之后,screen 、tmux 这类,在用户退出的时候有可能会被干掉
是通过 systemd user linger 参数来控制的
这是不是进一步增加了你讨厌它的点啊?
oneisall8955
2022-03-25 12:12:45 +08:00
@julyclyde tail 日志文件不行吗
julyclyde
2022-03-25 12:22:36 +08:00
@oneisall8955 我感觉 lz 的需求似乎是“还打算再互动操作一下”
oneisall8955
2022-03-25 12:34:07 +08:00
@julyclyde 了解,类似 htop ,还可以继续发送指令,进行交互
billgreen1
2023-04-07 12:45:43 +08:00
ssh -t user@serverA ‘tmux -CC new-session -As session’

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/842600

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX