你好,程序员。我有个问题。请帮忙。
我正在创建一个服务,它必须在加载Linux时自动加载。因此,我将脚本复制到目录/etc/rc.d/init.d或/etc/init.d/。但是当我执行命令的时候
chkconfig——添加进程列表
出现以下错误:
进程服务列表不支持chkconfig
下面是脚本的内容。我在谷歌上找到了第一个版本,并将其作为一种模式使用
#/bin/bash
#进程列表启动进程,该进程将显示进程列表
#chkconfig:345 110 02
#描述:此流程显示当前时间和流程列表
#进程名称:进程列表
###开始初始化信息
#规定:
#所需启动:
#所需站点:
#默认开始:3 4 5
#默认停止:0 1 2 6
#简短说明:显示当前时间和进程列表
#描述:此流程显示当前时间和流程列表
###结束初始化信息
#源函数库。
KIND=“进程列表”
开始(){
echo-n$“正在启动$种类服务:”
守护进程/home/myscript
回响
}
停止(){
echo-n$“正在关闭$KIND服务:”
killproc/home/myscript
回响
}
重新启动(){
echo-n$“正在重新启动$KIND服务:”
killproc/home/myscript
守护进程/home/myscript
回响
}
案件“$1”
开始)
开始
;;
(停止)
停止
;;
重新启动)
重新启动
;;
*)
echo$“用法:$0{start | stop | restart}”
出口1
以撒
退出$?
出口0;
第二个版本是由cron脚本生成的。我找到了cron脚本,复制并更改了它,所以我使用它作为模式
#/垃圾箱/垃圾箱
#
#cron启动/停止cron时钟守护进程。
#
#chkconfig:2345 90 60
#描述:cron是一个标准的UNIX程序,运行用户指定的\
#在定期的预定时间进行节目。vixie cron添加了一个\
#基本UNIX cron的许多功能,包括更好的\
#安全性和更强大的配置选项。
###开始初始化信息
#提供:crond crontab
#必需的开始:$local_fs$syslog
#所需停止:$local_fs$syslog
#默认开始:2345
#默认停止:90
#简短描述:运行cron守护程序
#描述:cron是一个标准的UNIX程序,运行用户指定的
#在定期的预定时间进行节目。vixie cron添加了一个
#基本UNIX cron的许多功能,包括更好的
#安全性和更强大的配置选项。
###结束初始化信息
权利=whoami;
根=根;
[-f“$rights”==“$root”]|{
echo“该计划需要根本权利”;
出口1;
}
#源函数库。
. /etc/rc.d/init.d/functions
开始(){
echo-n$“启动$种类服务:”;
进程的守护进程显示列表;
}
停止(){
echo-n$“关闭$KIND服务:”;
killproc流程展示列表;
}
重新启动(){
停止
开始
}
重新加载(){
重新启动;
}
强制重新加载(){
#新配置在重新启动后生效
重新启动
}
案件“$1”
开始)
开始
;;
(停止)
停止
;;
重新启动)
重新启动
;;
重新加载)
重新加载
;;
(强制重新加载)
强制重新加载
;;
*)
echo$“用法:$0{start | stop | restart | reload | force reload}”
出口2
以撒
退出$?
#显示进程列表
函数显示进程列表{
top>;/dev/tty2;
}
但情况没有改变。有什么问题?脚本中有什么错误
查看chkconfig可以在/etc/rc.d/init.d中打开或关闭的所有脚本,您会注意到前面的几个注释非常重要。请参阅如何使用chkconfig和服务管理服务
#/垃圾箱/垃圾箱
#
#cron启动/停止cron时钟守护进程。
#
#chkconfig:2345 90 60
#描述:cron是一个标准的UNIX程序,运行用户指定的\
#在定期的预定时间进行节目。vixie cron添加了一个\
#基本UNIX cron的许多功能,包括更好的\
#安全性和更强大的配置选项。
您有一个名为listofprocesses的脚本,但由于第3行的原因,该脚本看起来像crond,因此它找不到任何名为listofprocesses
您肯定还想更改chkconfig:2345 90 60。这说明了它应该处于哪个运行级别(在本例中为2、3、4和5),它的开始顺序是(90),终止顺序是(60)
您可以使用chkconfig--list-listofprocesses检查服务是否正确设置