内容目录
cd /8t/cloudreve_3.8.3/&&nohup ./cloudreve >/dev/null 2>&1 &
当你在终端中使用 nohup
命令并将输出重定向到 /dev/null
后,进程依然会在终端关闭时结束。这可能是因为进程仍然依赖于终端会话。为了确保进程在终端关闭后仍然运行,可以尝试以下几种方法:
方法一:使用 nohup
并且不重定向输出
cd /8t/cloudreve_3.8.3/ && nohup ./cloudreve &
在这种情况下,nohup
会自动将输出重定向到 nohup.out
文件中,你可以检查这个文件来查看输出日志。
方法二:使用 screen
或 tmux
screen
和 tmux
是两个常用的终端多路复用器,能够在终端会话关闭后保持会话活动。
使用 screen
:
-
启动一个新的 screen 会话:
screen -S mysession
-
在 screen 会话中运行你的命令:
cd /8t/cloudreve_3.8.3/ && ./cloudreve
-
退出 screen 会话(注意,不是关闭):
按Ctrl-a
,然后按d
键,这样会将你从会话中分离出来。 -
要重新连接到 screen 会话:
screen -r mysession
使用 tmux
:
-
启动一个新的 tmux 会话:
tmux new -s mysession
-
在 tmux 会话中运行你的命令:
cd /8t/cloudreve_3.8.3/ && ./cloudreve
-
分离 tmux 会话:
按Ctrl-b
,然后按d
键。 -
要重新连接到 tmux 会话:
tmux attach -t mysession
方法三:使用 systemd
创建服务
如果希望程序作为系统服务来运行,可以创建一个 systemd
服务单元文件。以下是一个示例:
-
创建一个服务单元文件:
sudo nano /etc/systemd/system/cloudreve.service
-
添加以下内容:
[Unit] Description=Cloudreve Service After=network.target [Service] ExecStart=/8t/cloudreve_3.8.3/cloudreve WorkingDirectory=/8t/cloudreve_3.8.3 Restart=always User=yourusername Group=yourgroupname [Install] WantedBy=multi-user.target
-
重新加载
systemd
,启动并启用服务:sudo systemctl daemon-reload sudo systemctl start cloudreve sudo systemctl enable cloudreve
这样一来,你的程序就会作为一个系统服务运行,即使关闭终端,程序也会继续运行。
近期评论