AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 2263
Accepted
Marco Ceppi
Marco Ceppi
Asked: 2010-08-15 04:24:52 +0800 CST2010-08-15 04:24:52 +0800 CST 2010-08-15 04:24:52 +0800 CST

Ubuntu 服务器的 Chkconfig 替代品?

  • 772

我已经非常习惯于使用 Redhat/RHEL 平台上的服务启动管理,chkconfig尽管这似乎不是 Debian/Ubuntu 的方式 - 如何在 Ubuntu 上更新系统服务的运行级别信息?

最终寻找的等价物:

chkconfig --add <service>
chkconfig --level 345 <service> on
chkconfig --del <service>
server services
  • 5 5 个回答
  • 315810 Views

5 个回答

  • Voted
  1. Best Answer
    Richard Holloway
    2010-08-15T04:47:40+08:002010-08-15T04:47:40+08:00

    相当于chkconfig是update-rc.d

    您寻求的等价物是

    update-rc.d <service> defaults
    update-rc.d <service> start 20 3 4 5
    update-rc.d -f <service>  remove
    

    有关更多信息,请参阅此有用页面或查看 man update-rc.d

    • 128
  2. jokerulez
    2012-07-11T00:22:21+08:002012-07-11T00:22:21+08:00

    恕我直言,最好的替代方案是 sysv-rc-conf 要安装只需要运行以下命令:

    sudo apt-get install sysv-rc-conf
    

    安装后运行命令:

    sudo sysv-rc-conf
    

    您可以选中或取消选中在任何执行级别启动服务的选项,甚至可以从此控制台停止或启动服务。它是永久启用或禁用应用程序以启动 ubuntu 的不可或缺的工具。如果您需要快速更改,则可以使用 CLI 界面:

    例如,在执行级别 3 和 5 停止 ssh:

    sysv-rc-conf-off level 35 ssh
    

    Atd 从运行级别 2、3、4 和 5 开始:

    sysv-rc-conf on atd
    

    如果您想了解更多:

    man sysv-rc-conf
    
    • 55
  3. maco
    2010-08-15T09:28:17+08:002010-08-15T09:28:17+08:00

    目前,在稳定版本中没有与 Upstart 脚本相关的等价物。Jacob Peddicord 为他的 Google Summer of Code 项目编写了 jobservice(后端守护程序)和 jobs-admin(与之对话的 GTK+ GUI)。Lucid 包在他的 PPA中。它们也存在于特立独行的宇宙中。还没有jobservice的命令行前端,只有jobs-admin。

    • 10
  4. Andrew Davison
    2012-06-18T15:52:34+08:002012-06-18T15:52:34+08:00

    尝试这个:

    apt-get install chkconfig
    

    这至少在 Ubuntu 12.04 版本中有效。

    • 10
  5. user25165
    2014-02-11T01:42:03+08:002014-02-11T01:42:03+08:00

    让我们从零走到目标 - 如何一步一步地做到这一点。

    第 1 步:让我们写一个 hello world

    cat >> /var/tmp/python/server.py <<\EOF
    #/usr/bin/python
    import time
    while True:
      print "hello> YES Bello"
      time.sleep(30)
    
    EOF
    

    第 2 步:让我们的 hello world 应用程序 server.py 自动化

    cat >> /var/tmp/myserver.sh <<\EOF
    #!/bin/sh
    script='/var/tmp/python/server.py'
    export DISPLAY=:0.0 && /usr/bin/python $script &
    
    EOF
    chmod +x /var/tmp/myserver.sh
    
    cat >> /etc/init.d/myserver <<\EOF
    
    #! /bin/sh
    PATH=/bin:/usr/bin:/sbin:/usr/sbin
    DAEMON=/var/tmp/myserver.sh
    PIDFILE=/var/run/myserver.pid
    
    test -x $DAEMON || exit 0
    
    . /lib/lsb/init-functions
    
    case "$1" in
      start)
         log_daemon_msg "Starting feedparser"
         start_daemon -p $PIDFILE $DAEMON
         log_end_msg $?
       ;;
      stop)
         log_daemon_msg "Stopping feedparser"
         killproc -p $PIDFILE $DAEMON
         PID=`ps x |grep server.py | head -1 | awk '{print $1}'`
         kill -9 $PID       
         log_end_msg $?
       ;;
      force-reload|restart)
         $0 stop
         $0 start
       ;;
      status)
         status_of_proc -p $PIDFILE $DAEMON atd && exit 0 || exit $?
       ;;
     *)
       echo "Usage: /etc/init.d/atd {start|stop|restart|force-reload|status}"
       exit 1
      ;;
    esac
    
    exit 0
    
    
    EOF
    chmod +x /etc/init.d/myserver
    chmod -R 777 /etc/init.d/myserver
    

    第 3 步:

    $ update-rc.d myserver defaults
    update-rc.d: warning: /etc/init.d/myserver missing LSB information
    update-rc.d: see <http://wiki.debian.org/LSBInitScripts>
     Adding system startup for /etc/init.d/myserver ...
       /etc/rc0.d/K20myserver -> ../init.d/myserver
       /etc/rc1.d/K20myserver -> ../init.d/myserver
       /etc/rc6.d/K20myserver -> ../init.d/myserver
       /etc/rc2.d/S20myserver -> ../init.d/myserver
       /etc/rc3.d/S20myserver -> ../init.d/myserver
       /etc/rc4.d/S20myserver -> ../init.d/myserver
       /etc/rc5.d/S20myserver -> ../init.d/myserver
    
    • 所以在第 3 步中,系统在启动时,会自动执行 server.py 作为守护进程并使其易于自动化

    希望它有所帮助。

    • 5

相关问题

  • 命令列出启动时启动的服务?

  • 如何从命令行刻录双层 dvd iso

  • 如果在服务器机器上运行 Ubuntu 桌面版,性能损失是多少?

  • 将桌面版剥离为服务器版的最简单方法是什么?

  • 如何与无头服务器进行图形交互?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何安装 .run 文件?

    • 7 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    如何获得 CPU 温度?

    • 21 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Marko Smith

    如何使用命令行将用户添加为新的 sudoer?

    • 7 个回答
  • Marko Smith

    更改文件夹权限和所有权

    • 9 个回答
  • Marko Smith

    你如何重新启动Apache?

    • 13 个回答
  • Marko Smith

    如何卸载软件?

    • 11 个回答
  • Marko Smith

    如何删除 PPA?

    • 26 个回答
  • Martin Hope
    NES 如何启用或禁用服务? 2010-12-30 13:03:32 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    Olivier Lalonde 如何在结束 ssh 会话后保持进程运行? 2010-10-22 04:09:13 +0800 CST
  • Martin Hope
    David B 如何使用命令行将用户添加为新的 sudoer? 2010-10-16 04:02:45 +0800 CST
  • Martin Hope
    Hans 如何删除旧内核版本以清理启动菜单? 2010-08-21 19:37:01 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve