我一直在做很多研究,但没有找到任何真正回答我的问题的东西。
我编写了一个 bash 脚本,可以自动更改某些进程的 nice 值。此脚本需要在启动时运行(我目前在启动应用程序中有它),并且需要suid
权限才能实际更改 nice 值。我已经尝试了一些使用 chmod 并将文件的所有权更改为 root,但似乎没有任何效果。脚本运行时,我不断收到"权限被拒绝"。
当我使用以下命令在终端中手动启动它时,它运行良好:sudo ./myfile
但在启动时启动时不起作用
我正在使用 Ubuntu
如果你在 debian/ubuntu 中,请执行以下操作:
cp /path/to/your/script.sh /etc/init.d/
chmod +x /etc/init.d/yourscript.sh
update-rc.d yourscript defaults
在这里,我认为您应该收到LSB标签丢失的警告,LSB标签是引导顺序的说明...但是,如果您的脚本是基本脚本,请忽略警告并重新启动计算机。
首先在/etc/init.d
中复制脚本then(对于基于 Redhat 的服务器,如 CentOS)
chmod +x script.sh
chkconfig --add script.sh
chkconfig --level 0123456 script.sh on
对于像 ubuntu 这样的基于 Debian 的版本:帮助帮助2帮助3
尝试:
cp /path/to/your/script.sh /etc/init.d/
chmod +x /etc/init.d/yourscript.sh
update-rc.d yourscript defaults
运行级别是任务的逻辑组。传统上,您有五个运行级别。
0 boot
1 single user
2 not used
3 multiuser
4 not used
5 gui
6 reboot