zoukankan      html  css  js  c++  java
  • linux 进程

      init

    init 启动后读取 inittab 文件,执行缺省运行级别,从而继续引导过程。在 UNIX 系统中,
    init 是第一个可以存在的进程,它的 PID 恒为 1,但它必须向一个更高级的功能负责;PID
    为 0 的是内核调度器(Kernel scheduler),从而获得 CPU 时间。
      父子进程关系:
    父进程终止,子进程自然终止
    a
    1、父亲死了,儿子死了--孤儿进程
    |
    自动把父进程指向 init
    b
    2、儿子死了,父亲不知道--僵尸进程(用 kill 处理)
    Zombie

      /etc/inittab
    inittab 文件格式:id:runlevels:action:process
    id-数字标识,一般为两个字母或数字。
    runlevels-指定运行级别 0-6 可指定多个
    0-关机
    1-单用户模式(类似 Windows 安全模式)只有 root 登录、没有图形界面
    S s
    2-多用户模式,不启用 NFS,命令行界面
    3-完整多用户模式,命令行界面
    NFS-网络文件系统 Network File System Linux/UNIX 文件共享
    Sun NIS 网络信息系统 资源集中管理服务 Information System
    4-自己定制
    5-多用户的图形界面(默认) X11 X11R6 xfree86
    6-重启
    init 切换运行级别
    # init [0123456sS] 或 #telinit[0123456sS]
    $init 0 关机
    $init 6 重启
    $runlevel 查看当前运行级别
    切换过用户后和未切换过用户的$runlevel 输出结果不一样 S 或 s 表示为单用户模式


    action:指定运行状态
    action 常用取值:
    initdefault:指定系统缺省启动的运行级别
    sysinit:系统启动执行 process 中指定的命令
    wait:执行 process 中指定的命令,并等其结束在运行其他命令。
    once:执行 process 中指定的命令,不等待其结束
    ctrlaltdel:按下 Ctrl+Alt+Del 时执行 process 指定的命令
    powerfail:当出现电源错误时执行 process 指定的命令,不等待其结束。
    powerokwait:当电源恢复时执行 process 指定的命令。
    respawn:一旦 process 指定的命令中止,便重新运行该命令。
    process:要执行的操作(命令或脚本)
        initdefault
    id:3:initdefault:
    Window,则将 3 改为 5


        /etc/rc.d/rc.sysinit
    si::sysinit:/etc/rc.d/rc.sysinit
    启动脚本/etc/rc.d/rc.sysinit,
    完成系统服务程序启动,如系统环境变量设置、设置系统时钟、加载字体、检查加载文件系统、生成系统启
    动信息日志文件等。
    runlevels 为空,标识任何运行级别都可以执行

        /etc/rc.d/rc
    l0:0:wait:/etc/rc.d/rc 0
    l1:1:wait:/etc/rc.d/rc 1
    l2:2:wait:/etc/rc.d/rc 2
    l3:3:wait:/etc/rc.d/rc 3
    l4:4:wait:/etc/rc.d/rc 4
    l5:5:wait:/etc/rc.d/rc 5
    l6:6:wait:/etc/rc.d/rc 6
    判断默认运行级别,调用/etc/rc.d/rc 脚本,执行相应运行级别目录中的服务程序,完成相应级别的初始化设置
    /etc/rc.d/init.d 目录下包含各个运行级别的服务程序脚本

          Linux 服务器启动脚本存放的目录:
    /etc/rc.d/init.d
    /etc/init.d-> rc.d/init.d
    $ /etc/rc.d/init.d/vsftpd
    用法:/etc/rc.d/init.d/vsftpd {start|stop|restart|condrestart|status}
    start 启动 stop 停止 restart 重启 condrestart 重启前检测服务器是否启动该服
    务 status 查看服务状态
    # /etc/rc.d/init.d/vsftpd start
    # /etc/rc.d/init.d/vsftpd restart
    # /etc/rc.d/init.d/vsftpd stop
    # /etc/rc.d/init.d/vsftpd status
    service 服务名称 start|stop|restart
    $ service nfs restart
        设置自启动程序
    vi /etc/rc.d/init.d/msg.script
    date >> /root/msg.today
    who >> /root/msg.today
    free >> /root/msg.today
    chmod u+x /etc/rc.d/init.d/msg.script
    ln -s /etc/rc.d/init.d/msg.script /etc/rc.d/rc3.d/S100msg.script
          chkconfig
    $chkconfig --list sshd
    chkconfig --list 服务名称 查看服务启动状态
    chkconfig --level 运行级别 服务名称 on|off
    $chkconfig --list sshd
    $chkconfig --level 245 sshd off
    $chkconfig --list sshd
    $chkconfig --level 2 sshd o


          用 sudo 代替 su:
    -在执行 sudo 命令时,临时成为 root
    -不会泄漏 root 口令
    -仅向用户提供有限的命令使用权限
    配置 sudo:使用 root 执行 visudo 编辑配置文件 (visudo 锁定文件)
    配置文件/etc/sudoers 必须用 root 编辑
    格式:用户名(组名) 主机地址=命令(绝对路径)
    [root@helen ~]# rpm -q sudo
    sudo-1.7.2p1-5.el5
    [root@helen ~]# cat /etc/sudoers
    [root@helen ~]# visudo
    samlee 192.168.0.103=/usr/sbin/useradd,/usr/sbin/userdel,/sbin/shutdown -h
    now(Linux 不支持 localhost 时用 IP 地址)


  • 相关阅读:
    1.1获取go运行版本信息
    11.exporting 导出
    MyBatis的dao的mapper写法
    用Intellij IDEA建mybatis案例
    面向对象之多态
    this和构造器的内存分析(***)
    服务器解析请求的基本原理
    接口和抽象类的使用上的区别和选择
    intelliJ IDEA之使用svn或git管理代码
    IntelliJ IDEA的使用之调试方法
  • 原文地址:https://www.cnblogs.com/ldms/p/3046336.html
Copyright © 2011-2022 走看看