定义服务开机启动code=exited status=203/exec 错误 systemctl 自定义service执行shell脚本时报错code exited status 203 EXEC

执行一个自定义systemctl的service

systemctl restart/start xxxxx 报错

通过 systemctl status xxxxx 查看,发现错误代码

(code=exited, status=203/EXEC)
code=exited, status=200/CHDIR

原因1 :systemctl执行脚本时需要知道脚本的解释器

原因2:目标目录的执行权限不够

原因3:要执行的脚本编码格式不正确

原因4:定义的workingdirectory路径有问题

解决方法:

1.在自定义脚本的开头加上#!/bin/sh

2.修改目标目录的权限 chmod -R 777  /目标目录

3.vi或vi编辑文件输入:set ff+回车键查看当前文件编码格式,:set ff=unix+回车键设置文件的编码格式为unix;

4.Systemd下的服务配置,如果设定使用了workingdirectory,但是在systemctl start之前没有创建该目录,将会无法正常启动,并且根据缺省方式下的status提示信息和journalctl无法清楚地定位问题,如果使用到workingdirectory,需要事先保证该目录的创建,可以考虑使用systemd提供的debug日志进行确认;

chmod的详细用法见http://t.csdn.cn/JTNIu

使用systemd下进行debug的方式可参看如下文章:http://t.csdn.cn/6nwqv

你可能感兴趣的:(Linux系统,linux,centos,运维)