Ubuntu和Centos 7运行su -c“my command”“someuser”有什么区别吗?

Ubuntu和Centos 7运行su -c“my command”“someuser”有什么区别吗?

我在 Ubuntu 和 Centos 7 中尝试了以下命令:

su -c  "./bin/server"  swrun

swrun我发现它在Ubuntu中是通过root启动的,但在Centos 7中是通过root启动的。

我在 Centos 7 中使用 /etc/init.d 下的服务脚本来运行此命令,但在 Ubuntu 中使用 /etc/init 下的 conf 文件来运行此命令。这2种方式有什么区别吗?

Ubuntu和Centos 7有什么区别?还是我的命令有错误?

感谢您的建议!


我在 ubuntu 中的conf脚本的一部分:

script
    sh /usr/share/huiertep_setup/script/run_selfcheck.sh
    sh /usr/share/huiertep_setup/script/run_raid_status_check.sh
    ROOT_DB_PASSWORD='abd32532@het'
    
    echo "SET GLOBAL log_bin_trust_function_creators = 1" | mysql -u root -p${ROOT_DB_PASSWORD}
    cd /usr/share/server
    su -c "./bin/server" swrun
end script

但让我困惑的是,我su -c "./bin/server" swrun 在这个脚本之外运行,它的进程仍然由 root 启动!

相关内容