Linux之進程篇

1、進程概念

所謂進程就是指現在系統正在執行的程序,每當輸入一個命令時,Shell也會同時啟動一個進程。
每個進程啟動時,系統會指定一個唯一的數值給每個進程,數值稱為進程ID。
每個進程都可能以兩種方式存在:前臺和后臺。
系統的服務都是以后臺方式存在,且都會常駐在系統中,直到關機結束。
系統網絡服務一般都是后臺服務進程。

[root@xiaoyu ~]# /etc/init.d/sshd status
openssh-daemon (pid  8734) is running...

[root@xiaoyu ~]# netstat -an | grep 22
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      
tcp        0     64 10.10.9.201:22              10.10.29.50:51683           ESTABLISHED 
tcp        0      0 :::22                       :::*                        LISTEN      
unix  3      [ ]         STREAM     CONNECTED     86722  

2、Linux定時任務---crond

2.1、什么是crond?

Crond是Linux系統中用來定期執行命令或者指定程序任務的一種服務或者軟件。一般安裝完Centos系統后,Crond一般會默認存在。我們優化開機自啟服務的時候,第一個就是Crond。
Crond服務默認情況(每分鐘),會檢查系統中是否有需要執行的定時任務,如果有,就會根據事先定義好的規則來執行這個定時任務。對秒級任務無能為力。

[root@xiaoyu ~]# cat test.sh 
while true
do 
    echo 'heqiuyu'
    sleep 1
done
[root@xiaoyu ~]# sh test.sh 
heqiuyu
heqiuyu
heqiuyu
heqiuyu
heqiuyu
^C
[root@xiaoyu ~]# 

2.2分類

第一類,系統自身定期執行的任務

[root@xiaoyu ~]# ll /var/log/secure
-rw-------. 1 root root 5489 Jun 15 11:16 /var/log/secure

第二類,用戶執行的crontab任務

[root@xiaoyu cron.d]# cat /etc/crontab 
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed

at 適合一次就結束的調度任務

man crontab
NAME
       crontab - maintain crontab files for individual users

SYNOPSIS
       crontab [-u user] file
       crontab [-u user] [-l | -r | -e] [-i] [-s]

DESCRIPTION
       Crontab  is  the  program  used  to install, remove or list the tables used to drive the cron(8) daemon.  Each user can have their own crontab, and though these are
       files in /var/spool/ , they are not intended to be edited directly. For SELinux in mls mode can be even more crontabs - for each range. For more see selinux(8).

       The cron jobs could be allow or disallow for different users. For classical crontab there exists cron.allow and cron.deny files.  If cron.allow  file  exists,  then
       you  must  be listed therein in order to be allowed to use this command.  If the cron.allow file does not exist but the cron.deny file does exist, then you must not
       be listed in the cron.deny file in order to use this command.  If neither of these files exists, only the super user will be allowed to use this command.  The  sec-
       ond option is using PAM authentication, where you set up users, which could or couldn’t use crontab and also system cron jobs from /etc/cron.d/.

       The temporary directory could be set in enviroment variables. If it’s not set by user than /tmp is used.

OPTIONS
       -u     Append  the  name  of the user whose crontab is to be tweaked.  If this option is not given, crontab examines "your" crontab, i.e., the crontab of the person
              executing the command.  Note that su(8) can confuse crontab and that if you are running inside of su(8) you should always use  the  -u  option  for  safety’s
              sake.  The first form of this command is used to install a new crontab from some named file or standard input if the pseudo-filename "-" is given.

       -l     The current crontab will be displayed on standard output.

       -r     The current crontab will be removed.

       -e     This  option  is  used to edit the current crontab using the editor specified by the VISUAL or EDITOR environment variables.  After you exit from the editor,
              the modified crontab will be installed automatically.

       -i     This option modifies the -r option to prompt the user for a ’y/Y’ response before actually removing the crontab.

       -s     It will append the current SELinux security context string as an MLS_LEVEL setting to the crontab file before editing / replacement occurs - see the documen-
              tation of MLS_LEVEL in crontab(5).
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容