CENTOS 命令不会在启动时运行

CENTOS 命令不会在启动时运行

我已经rtorrent安装并尝试运行此命令,以便它在启动时自动运行:

screen -S rtorrent -d -m su root -c "rtorrent"

我将其添加到:nano /etc/rc.local

但当我重启时似乎什么都没发生。如果我在终端中输入它,它会正常显示,没有任何问题?为什么?

答案1

/etc/rc.local 用于启动服务。服务通常不具有任何类型的 GUI 或需要任何类型的用户交互。如果您希望 rtorrent 在您登录之前自动打开某种窗口,那么这将不会发生,因为 rtorrent 不知道要使用什么 DISPLAY 或 tty 进行显示。

如果您希望 rtorrent 在登录时自动启动,请尝试将 rtorrent 命令放入您的一个 .bash 文件中。但请记住,如果您不希望每次启动新的终端窗口或其他在 .bash 文件中提供资源的应用程序时都启动它,请检查它是否已在运行。

希望这可以帮助。

更新:

https://www.gnu.org/software/bash/manual/html_node/Bash-Startup-Files.html

当 Bash 作为交互式登录 shell 或使用 --login 选项作为非交互式 shell 调用时,它首先从文件 /etc/profile 中读取并执行命令(如果该文件存在)。读取该文件后,它会按顺序查找 ~/.bash_profile、~/.bash_login 和 ~/.profile,然后从第一个存在且可读的文件中读取并执行命令。

因此,如果您将命令放入 ~/.bash_login 文件中,例如,无论何时登录,~/.bash_login 中的任何内容都将被执行,包括您的 rtorrent 命令。

顺便说一句,如果您不知道的话,~ 代表您的主目录或 ${HOME}。

相关内容