• 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的路径
  • 相关阅读:
    JMeter设置中文界面显示
    Linux搭建JAVA环境
    SQLyog连接MySQL时出现错误代号:2058
    SQL基础教程(第2版)笔记整理
    sqlserver查询数据的所有表名和行数
    【ASP.NET 问题】IIS发布网站后出现 "处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误"的解决办法
    Asp.net在IE10、IE11下事件丢失经验总结
    SQL 2008 R2下载 升级R2 SP1或者SQL 2008从10.50.1600升级10.5.2500
    IE9浏览器中的My97日历控件刷新后无法打开问题解决办法
    windows2008 c盘清理
  • 原文地址:https://www.cnblogs.com/chenri/p/12590414.html
Copyright © 2020-2023  润新知