- 主题:请教linux下建立服务的问题,头痛,求高人指教,谢谢
【 在 optimism 的大作中提到: 】
: 服务器是亚马逊的Red Hat Enterprise Linux with High Availability,安装的东西非常少。
: 想在上面建立一个服务,没成功。于是我试着建立一个最简单的服务。
: 在ec2-user的用户目录下建立了一个名为fakeservice.sh的脚本文件:
: #!/bin/sh
: echo "fake service started."
: sleep 90
: echo "after sleep"
: 在命令行可以正常执行。
你这里的执行方式
: 进入/etc/systemd/system,sudo vi Myfakeservice.service:
: [Unit]
: Description= My fake service
: After=network.target network-online.target syslog.target
: Wants=network.target network-online.target
: [Service]
: User=ec2-user
: Type=simple
: ExecStart=/home/ec2-user/fakeservice.sh
和这里不一样吧
: [Install]
: WantedBy=multi-user.target
: 保存退出, 然后sudo systemctl daemon-reload
: sudo systemctl start Myfakeservice
: sudo systemctl status Myfakeservice
: [ec2-user@ip-172-31-2-189 system]$ sudo systemctl status Myfakeservice
: ● Myfakeservice.service - My fake service
: Loaded: loaded (/etc/systemd/system/Myfakeservice.service; disabled; vendor preset: disabled)
: Active: failed (Result: exit-code) since Mon 2022-10-17 21:36:17 CST; 44s ago
: Process: 1530 ExecStart=/home/ec2-user/fakeservice.sh (code=exited, status=203/EXEC)
: Main PID: 1530 (code=exited, status=203/EXEC)
: Oct 17 21:36:17 ip-172-31-2-189.us-east-2.compute.internal systemd[1]: Started My fake service.
: Oct 17 21:36:17 ip-172-31-2-189.us-east-2.compute.internal systemd[1]: Myfakeservice.service: Main process exited, code=exited, status=203/EXEC
journalctl -u Myfakeservice查看一下,应该是权限问题
文件没+x
: Oct 17 21:36:17 ip-172-31-2-189.us-east-2.compute.internal systemd[1]: Myfakeservice.service: Failed with result 'exit-code'.
: 这个问题我怎么百度也解决不了。求高人指教。
--
FROM 222.71.112.*
关闭SELinux试试?
【 在 optimism 的大作中提到: 】
: 执行方式是一样的。如下:
: [ec2-user@ip-172-31-2-189 system]$ /home/ec2-user/fakeservice.sh
: fake service started.
: ...................
--
FROM 222.71.112.*
这是一种错的不能再错的做法
【 在 xest 的大作中提到: 】
: 直接 nohup 不行么 搞这么麻烦
--
FROM 222.71.112.*
1 从shell启动后台服务,环境被用户设置污染,影响程序的具体行为
2 虽然nohup了,但是在将来的systemd版本中,默认lingering关闭,用户退出之后程序
依然会被kill掉,和古代版本行为不同
3 输出被转向nohup.out 无法正确切分,也可能导致巨型日志文件
4 cgroup被计入user slice
5 不支持故障重启功能
【 在 xest 的大作中提到: 】
: 错在哪了请指教
--
FROM 222.71.112.*
主动退出是另一种错吧,不是他报告的这种吧
【 在 s3aker 的大作中提到: 】
: 服务一般来说,都是死循环,永不主动退出的。
: 你用来测试用的脚本主动退出了,所以会报错。
--
FROM 222.71.112.*
selinux不仅仅是个开关,还附带一堆policy
【 在 SlO 的大作中提到: 】
: 我在我自己的服务器centos 7 kernel 3.10
: 按照你说的搭建了一模一样的,除了user不一样。正常运行。
: 我的SElinux 也是开着的。
: ...................
--
FROM 222.71.112.*