日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux基础知识--进程管理与计划任务

發布時間:2024/4/17 linux 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux基础知识--进程管理与计划任务 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Linux啟動流程:

  

  開機自檢BIOS是檢測硬件以及各個設備是否準備好

  MBR引導是看系統放在哪個位置,進行加載;引導分區,里面有多個系統,看需要啟動哪個系統

  GRUP菜單,進行一些選項,比如說看啟動哪個系統

?

  INIT進程:

    由Linux內核加載運行/sbin/init程序

    是系統的第一個進程,是所有進程的祖宗,PID(進程標記)號永遠為1

    配置文件/etc/inittab

?

  Linux系統運行級別(runlevels)

    有7個級別,

    0關機

    1單用戶模式

    2字符界面的多用戶界面(不支持網絡)

    3字符界面的完整多用戶界面

    4未分配使用

    5圖形界面的多用戶界面

    6重新啟動

  

    runlevel命令可以查看系統的運行級別,結果為兩個數字,前者為切換前的系統級別,后者為當前級別

?

  查看系統服務的啟動狀態:

  格式:chkconfig --list

     chkconfig --list 服務名稱  可以查看每個級別下的服務啟動狀態

  服務腳本位置:/etc/init.d? ?/etc/rc.d/init.d

  

  設置系統服務的啟動狀態

  格式:chkconfig --level 級別列表 服務名 on|off

      可以設置在哪些級別中服務的啟動狀態

?

進程管理:

  程序和進程:程序是保存在硬盤、光盤等介質中的可執行代碼和數據,是靜態保存的代碼;進程是在CPU及內存中運行的代碼,是動態執行的,每個進程都可創建一個或多個子進程(父、子進程)

  ps統計靜態進程的信息:

  ps aux

  ps -elf

  a顯示當前終端下的所有進程信息

  u使用以用戶為主的格式輸出進程信息

  x顯示當前用戶在所有終端下的進程信息

  -e顯示系統內的所有進程信息

  -l使用長格式顯示進程信息

  -f使用完整格式顯示進程信息

  

  top查看動態的進程排名信息,q退出查看

  

  pgrep根據特定的條件查詢進程PID信息

  -l列出進程名稱

  -U根據進程所屬的用戶名進行查找

  -t根據進程所在終端進行查找

  pgrep [選項]... 進程名

[root@localhost ~]# pgrep "init" 1 [root@localhost ~]# pgrep -l "init" 1 init [root@localhost ~]# pgrep -l "log" 6771 syslogd 6774 klogd [root@localhost ~]# pgrep -l -U root "log" 6771 syslogd 6774 klogd

  init的進程PID為1,進程名是init,包含log進程的進程PID有6771、6774

  

  pstree以樹形結構顯示進程之間的信息

  pstree -aup

    -u列出進程對應的用戶名

    -a列出進程對應的完整命令

    -p列出進程的ID號

  

  進程的不同啟動方式

    手動啟動

      前臺啟動:用戶輸入命令,直接執行程序

      后臺啟動:在命令行尾加上“&”符號

    調度啟動:

      使用at命令,設置在某個時間執行一次任務

      使用crontab命令,設置固定周期重復執行預先計劃好的任務

  

  進程前后臺調度

    Ctrl+Z將當前進程掛起,即調入后臺

    jobs命令,查看處于后臺的任務列表

    fg命令,將處于后臺的進程恢復至前臺,需指定任務序號

    Ctrl+C終止正在執行的命令 

    kill用于終止指定PID的進程

    killall用于終止指定名稱的所有進程,-9選項用于強制終止

    pkill根據特定條件終止相應進程

      -U根據進程所屬的用戶名終止相應進程

      -t根據進程所在終端終止相應進程

[root@localhost ~]# ping 192.168.xx.1 PING 192.168.xx.1 (192.168.xx.1) 56(84) bytes of data.[1]+ Stopped ping 192.168.xx.1 [root@localhost ~]# jobs [1]+ Stopped ping 192.168.xx.1 [root@localhost ~]# fg 1 ping 192.168.xx.1--- 192.168.xx.1 ping statistics --- 7 packets transmitted, 0 received, 100% packet loss, time 15995ms[root@localhost ~]# jobs

    Linux中ping物理機的IP,進行會一直執行,Ctrl+Z將當前進程調入到后臺,jobs查看后臺進程,任務序號為1,fg 1將后臺進程調入到前臺,Ctrl+C終止當前進程

    

計劃任務管理

  一次性任務,使用at命令,指定日期、時間點執行一些預定的命令操作

    服務腳本名稱:/etc/init.d/atd,在執行這個命令之前首先要保證atd服務啟動

    格式:at [HH:MM] [yyyy-mm-dd]

    啟動服務:service atd start,或者/etc/init.d/atd start

    查看服務啟動狀態:service atd status

    Ctrl+D提交任務

    atq查詢當前設置的at任務列表

    atrm刪除指定任務編號的at任務

      atrm 編號

[root@localhost ~]# cd /home [root@localhost home]# ls audispd.conf file1.tar.gz file3 test test2 file1.tar file2.tar.gz file3.tar.gz test1 test.tar.bz2 [root@localhost home]# date Sat Feb 16 20:00:36 CST 2019 [root@localhost home]# at 20:02 at> touch file04 at> <EOT> job 1 at 2019-02-16 20:02 [root@localhost home]# date Sat Feb 16 20:01:19 CST 2019 [root@localhost home]# date Sat Feb 16 20:02:34 CST 2019 [root@localhost home]# ls audispd.conf file1.tar file2.tar.gz file3.tar.gz test1 test.tar.bz2 file04 file1.tar.gz file3 test test2

    在home目錄下,開始沒有file04,現在想要在當天的20:02時刻創建file04,。因此首先獲取當前時間,制定當前時間之后的某個時間點創建file04的任務計劃,按Ctrl+D提交計劃,時間到了,發現任務執行完畢,file04創建。

?

  周期性任務crontab,按照預先設置的時間周期重復執行任務

    服務腳本名稱:/etc/init.d/crond,設置計劃之前保證服務啟動

    全局配置文件,位于/etc/crontab

      系統默認的設置位于/etc/cron.*/

      用戶定義設置,位于文件/var/spool/cron/用戶名

    crontab -e [-u 用戶名]  編輯計劃任務,不指定用戶默認當前用戶

    crontab -l [-u 用戶名]  查看計劃任務,不指定用戶默認當前用戶

    crontab -r [-u 用戶名]  刪除計劃任務,不指定用戶默認當前用戶,只能刪除當前用戶的周期性任務計劃

    只有root用戶才能為其他用戶制定周期性任務計劃,其他用戶只能管理自己的周期性任務計劃

    

    任務配置格式:

      分鐘(0-59)? 小時(0-23)? 日期? ? 月份? ? 星期 (0-7)? ?命令(要執行的命令或程序腳本)

      時間數值的特殊表示方法:

        *表示該范圍內的任意時間

        ,表示間隔多個不連續的時間點

        -表示一個連續的時間范圍

        /指定間隔的時間頻率

      示例:

        0 17 * *? 1-5? ? ? ?每天周一到周五的17點整

        30 8 * * 1,3,5? ? ?周一周三周五的8:30執行

        0 9-22/2 * * 7  星期天的9點到22點每隔兩小時執行一次

        

     案例:

      每天早上7:50自動開啟sshd服務,22點50時關閉

      每隔5天清空一次FTP服務器公共目錄/var/ftp/pub

      每周六的7:30時,重新啟動httpd服務

     ??每周一、三、五的17:30時,打包并壓縮/etc/httpd目錄  

[root@localhost home]# cd /var/spool/cron [root@localhost cron]# ls [root@localhost cron]# crontab -e -u root

    進入/var/spool/cron目錄,開始編輯計劃任務

50 7 * * * /sbin/service sshd start 50 22 * * * /sbin/service sshd stop 0 * */5 * * /bin/rm -rf /var/ftp/pub/* 30 7 * * 6 /sbin/service httpd restart 30 17 * * 1,3,5 /bin/tar jcvf httpdconf.tar.bz2 /etc/httpd~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -- INSERT --

    相應的服務或者指令要寫出絕對路徑,查看當前用戶的任務計劃

[root@localhost cron]# crontab -l 50 7 * * * /sbin/service sshd start 50 22 * * * /sbin/service sshd stop 0 * */5 * * /bin/rm -rf /var/ftp/pub/* 30 7 * * 6 /sbin/service httpd restart 30 17 * * 1,3,5 /bin/tar jcvf httpdconf.tar.bz2 /etc/httpd

  刪除之后,發現沒有任何任務計劃

[root@localhost cron]# crontab -r [root@localhost cron]# crontab -l no crontab for root

?

  總結:

    INIT進程,系統的第一個進程,PID為1,存放在/etc/inittab

    runlevels,Linux系統的運行級別,0-7,7個級別,4未分配;runlevel命令查看最近一次修改之前的運行級別和當前運行級別

    chkconfig --list

    chkconfig?--level 級別列表 服務名 on|off

    ps統計靜態進程信息,ps aux

    top查看動態進程排名信息

    pgrep根據條件查詢進程信息

    pstree以樹形結構顯示進程之間的關系,pstree -aup

    Ctrl+Z、jobs、fg 任務序列號、Ctrl+C、kill、killall、killall -9

    at一次性任務,/etc/init.d/atd 、atq、atrm

    crontab周期性任務計劃,/etc/init.d/crond、/var/spool/cron/用戶名、crontab -e、crontab -l、crontab -r

    

   

  

  

轉載于:https://www.cnblogs.com/bigbigtong/p/10381105.html

總結

以上是生活随笔為你收集整理的Linux基础知识--进程管理与计划任务的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。