Linux nohup命令无法正常工作

-1 投票
2 回答
2224 浏览
提问于 2025-04-17 18:19

我有一个启动脚本,目的是用nohup在后台运行一个Python脚本。我使用nohup是因为我不想让这个脚本依赖于我是否登录。这个脚本是从一个SD卡上运行的,我把它做成了一个镜像,然后烧录到另一张卡上。

奇怪的是,第一张卡上的脚本运行正常,而第二张卡上的却不行。我可以在第一张卡上查看nohub.out文件,看到预期的输出,但在复制的那张卡上,这个文件完全是空的。

当我运行ps aux | grep python时,我可以看到两个地方都有这个脚本的进程在运行,所以我不明白为什么复制的那张卡似乎没有按预期工作。

2 个回答

2

在没有完整背景的情况下,很难猜测具体原因,但可能的区别只是因为其中一张SD卡是写保护的,或者是以只读方式挂载的。如果不是这种情况,能不能请你把这两张卡的输出结果发出来呢?

mount 

你可能想用 screen 来代替 nohup:首先启动

screen

然后正常运行程序,接着按 Ctrl+A 再按 D 来分离终端。之后,即使你注销了,也可以用

screen -r

重新控制终端。

0

我搞明白了。显然,它们都需要被设置为锁定状态,出于某种原因。当我这样做后,它们就按预期工作了。

撰写回答