Linux学习-进程控制

进程控制

调整优先级

  • nice 范围从-20 到 19,值越小优先级越高,抢占资源就越多
    • nice -n 10 ./a.sh
  • renice 重置优先级
    • renice -n 15 1919 1919是进程号,对已在运行的进程重置优先级
      进程的作业控制
  • jobs 查看进程的运行情况
  • & 符号
    • ./a.sh & 将进程放在后台执行
    • jobs 查看进行状态
    • fg 1 将相关进程调回前台启动
    • Ctrl + z 将程序调回后台挂起
    • bg 1 将后台挂起的程序在后台启动

进程的通信

使用信号的常用快捷键和命令

  • kill -l
    • SIGINT 通知前台进程组终止进程 ctrl+c
    • SIGKILL 立即结束程序,不能被阻塞和处理 kill -9 pid

守护进程

随着系统开机就启动,不需要终端,一些输出会打印到特殊的文件中,进程所占用的是根目录。
守护进程(daemon)和一般进程的差别,daemon 输入的信息放在日志中,把它自己的目录切换为根目录,主要目的是让用户执行的程序能脱离终端

  • 使用 nohup 与 & 符号配合运行一个命令

    • nouhub 命令使进程忽略 hangup 信号,
      • nohub tali -f /var/log/message & 改命令输出的信息都存在 nohub.out 文件中。若当前的终端退出或者关闭,tali -f 命令的父进程结束,tali -f 命令的进程叫做hup进程,会被其他进收留,如被1号进程,保证进程正常工作
  • 使用 screen 命令 screen,第三方工具执行命令,产生于daemon一样的效果

    • screen 进入 screen 环境
    • ctrl + a d 退出(detached) screen 环境
    • screen -ls 查看 screen 会话
    • screen -r sessionid 恢复会话

系统的日志都会打印到 /var/log 该目录的文件中

  • message 常规日志
  • dmesg 内核启动的日志
  • secure 系统安全日志
  • cron 计划性任务的日志

服务管理工具 systemctl

服务集中管理工具

  • service 执行方便,但是服务的启动都需要自己编写脚本实现
    service 启动脚本放在 /etc/init.d/ 目录下面的network文件中

    • chkconfig --list 查看原有系统的级别,系统级别是由init程序控制,默认是0号进程,在cent0S 7或8 中,init 被systemd 覆盖,initshi 是无法被 kill -9 杀掉,通过执行 init 0~6,控制不同级别
      级别:
      0-停机,系统默认级别不可为0
      1-单用户工作,root权限
      2-多用户状态,没有NFS
      3-多用户状态,命令行模式
      4-保留
      5-X11控制台,登陆后进入图形GUI模式
      6-系统正常关闭并重启,系统默认级别不可为6
    • systemctl get-default 查看当前系统的级别
    • systemctl set-default multi-user.target 将系统默认级别设置为多用户级别(5)
  • systemctl 由service功能强化而来,进行精简
    启动脚本放在 /usr/lib/systemd/system/目录下

  • systemctl 常见操作

    • systemctl start|stop|restart|reload|enable|disable 服务名称
      • 例如:systemctl stop|start|status sshd.service
    • 软件包安装的服务单元 /usr/lib/systemd/system/

SELinux

SELinux 会降低服务器性能,大多情况处于关闭状态

查看 SELinux 命令

  • getenforce 查看系统 SELinux 的状态
  • /usr/sbin/sestatus
  • ps -Z and ls -Z and id -Z

关闭 SELinux

  • setenforce 0 临时的设置,重启后会还原
  • /etc/selinux/sysconfig 修改SELinux的路径

猜你喜欢

转载自www.cnblogs.com/chenri/p/12590414.html