我尝试更改为xxx user01.
sudo su user01/etc/init.d/script start
但是,这不起作用.
在脚本中运行sudo su user01并不意味着将以下命令发送到结果shell.事实上,它可能意味着一个新的shell被生成为user01,它永远不会退出!两件事情:
>您可以通过将-c’命令…’参数传递给su来执行另一个用户的命令,例如su user01 -c’ / etc / init.d / script start’.>从rc.local启动使用/etc/init.d的服务不是正确的做法.您希望在启动时使用分发工具启用服务,例如chkconfig或update-rc.d.您也不希望/etc/init.d中的作业不应该以root身份启动.作业本身可以随意分配到另一个用户帐户,但应该由root调用.