![如何在登录 20 秒后运行 bash 脚本?](https://linux22.com/image/979872/%E5%A6%82%E4%BD%95%E5%9C%A8%E7%99%BB%E5%BD%95%2020%20%E7%A7%92%E5%90%8E%E8%BF%90%E8%A1%8C%20bash%20%E8%84%9A%E6%9C%AC%EF%BC%9F.png)
我想要运行如下的 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
文件。
编辑:忘了提及这只会为特定用户运行,而不是为系统上的所有用户运行。