在Centos 6.8服务器上,我需要从测试用户启动weblogic-service,并且我需要进程所有者是weblogic,而不是测试用户。
我还必须使用 nohup 启动 weblogic,并将其放入后台,如下所示:
#nohup ./startweblogic &
我所做的事情如下:
我已将测试用户添加到 sudoers,以便它可以运行启动脚本
我运行以下命令,但进程所有者仍然不是 weblogic。
#su -p -s /bin/sh weblogic "nohup /u01/Oracle/Middleware/user_projects/domains/base_domain/startWebLogic.sh &"
答案1
我猜你已经这样设置了 sudoers 文件:
test ALL=(weblogic) NOPASSWD: /u01/Oracle/Middleware/user_projects/domains/base_domain/startWebLogic.sh
这将允许test
用户以 user 身份运行命令weblogic
,而无需密码(如果您不需要密码,请删除NOPASSWD:
.
另外,当您打算在后台运行 Weblogic 时,最好将其设置为使用 boot.properties 的自动登录功能,因此它不会要求用户/密码。boot.properties
放入一个名为/u01/Oracle/Middleware/user_projects/domains/base_domain/servers/your_server_name/security
(如果需要,创建安全目录)的文件,其中包含以下内容:
username=your_weblogic_username
password=your_weblogic_password
然后登录test
并运行sudo -u weblogic nohup /u01/Oracle/Middleware/user_projects/domains/base_domain/startWebLogic.sh &
你得到:
root 3133 0.0 0.1 37084 6208 pts/1 S 17:47 0:00 sudo -u weblogic nohup /u01/Oracle/Middleware/user_projects/domains/base_domain/startWebLogic.sh
weblogic 3134 0.0 0.0 7112 2912 pts/1 S 17:47 0:00 \_ /bin/sh /u01/Oracle/Middleware/user_projects/domains/base_domain/startWebLogic.sh
weblogic 3135 0.0 0.0 7252 3508 pts/1 S 17:47 0:00 \_ /bin/sh /u01/Oracle/Middleware/user_projects/domains/base_domain/bin/startWebLogic.sh
weblogic 3168 2.8 10.8 2606220 437004 pts/1 Sl 17:47 0:15 \_ /home/weblogic/jdk/bin/java -server -Xms256m -Xmx512m -Dweblogic.Name=AdminServer -Djava.security.policy=/u01/Oracle/wlserver/server/lib/weblogic.policy -Dweblogic.ProductionModeEnabled=true -Djava.system.class.loader=com.oracle.classloader.weblogic.LaunchClassLoader -javaagent:/u01/Oracle/wlserver/server/lib/debugpatch-agent.jar -da -Dwls.home=/u01/Oracle/Middleware/wlserver/server -Dweblogic.home=/u01/Oracle/Middleware/wlserver/server weblogic.Server
答案2
尝试:
su -p -s /bin/sh weblogic -c "nohup /u01/Oracle/Middleware/user_projects/domains/base_domain/startWebLogic.sh &"
请注意命令前的“-c”并用引号括起来。
还要确保“weblogic”用户有权写入当前目录,因为“nohup”会将服务器的输出重定向到当前目录中的“nohup.out”文件。