如何在登录 20 秒后运行 bash 脚本?

如何在登录 20 秒后运行 bash 脚本?

我想要运行如下的 bash 脚本:

#!/bin/bash          
echo 'cpu limit bomi player at 40%'
cpulimit -v -e bomi -l 40  

登录我的用户后仅 20 秒。您能帮我做到这一点吗?我在 Google 上搜索并按照他们说的做了,但对我不起作用。

如果 bash 脚本可以在新终端窗口中运行并显示输出,请告诉我要做什么才能实现这一点。

答案1

一个简单的方法是将这些行添加到系统中的 rc.local。

为此,您需要 root 或 sudo 权限。您可以使用您喜欢的文本编辑器编辑该文件,例如vim

vim /etc/rc.local

(sleep 20
echo 'cpu limit bomi player at 40%'
cpulimit -v -e bomi -l 40) &

第一行告诉计算机等待 20 秒,其他两行来自您的脚本,最后一行&告诉计算机在子 shell 中运行该脚本,以便您的计算机不必等待该功能结束并继续启动。

您应该在该脚本末尾的调用之前的任何位置添加这些行,exit 0因为这将使其退出并忽略其后的任何行。

答案2

您也可以在终端中输入以下内容:

crontab -e

然后输入:

@reboot /path/to/script

并在脚本开头输入以下内容:

sleep 20

这样也许能很好地发挥作用。

答案3

另一个建议是创建可执行的 bash 脚本。我们将其命名为 onboot.sh,并将其保存在您的主目录中

〜/ onboot.sh

#!/bin/bash
sleep 20      
echo 'cpu limit bomi player at 40%'
cpulimit -v -e bomi -l 40  

然后通过运行此命令使其可执行

chmod +x ~/onboot.sh

然后将这一行添加到你的 ~/.bashrc 中

~/onboot.sh &

每次您创建新的终端会话时,它都会运行~/.bashrc,然后运行您的~/onboot.sh文件。

编辑:忘了提及这只会为特定用户运行,而不是为系统上的所有用户运行。

相关内容