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).

你可能感兴趣的:(Linux之进程篇)