Linux学习之路——进程及任务的安排

1.进程和进程控制的概念
       查看进程状态
          w 查看个别用户的进程       w 用户名
                JCPU:以中文代号区别该终端所有进程账号执行所消耗的cpu时间的显示
                PCPU:cpu执行程序耗费的时间
               WHAT:用户正在执行的程序
                from;显示用户从何处登陆的
                IDLE:用户闲置的时间
       ps -aux
                -a显示所有用户的进程
                -u显示用户名和启动的时间
                -x:显示没有控制终端的进程
             
      ps -el
                -e :显示所有进程,包括没有控制终端的进程
                -l:长格式显示
       PID:进程号
       PPID:父进程的进程号
      TTY:进程启动的终端
       STAT:进程运行的状态
                 s:休眠  D不可中断的休眠状态
                 R:正在运行 Z;僵死状态 (没有父进程的子进程)
                 T:停止
      NI:进程优先级
      TIME:进程从启动以来占用cpu的总时间
      
      eg:ps -aux --sort pid  #按pid 对进程进行排序
            ps -aux|grep xclock #使用管道输出关于xclock的进程信息
         
       进程的挂起和恢复
       杀死或重新启动进程
       改变进程优先级
2.进程状态的查看与控制
     杀死进程: kill 进程号
                          kill -s 信号 进程号  # 将信号发送给进程,可以杀死进程
                          kill -l              #列出所有信号
                          killall 进程名(eg.cmd)#杀死所有与进程名有关的进程
                          xkill        #点击任何图形界面后,会杀死这个图形进程
     改变进程的优先级(-20到19)
                        nice -n command &   #制定程序运行优先级(&表示在后台运行)
                       nice n pid          #改变一个正在运行的进程的优先级
     进程状态的更新:
                top:进程状态显示和进程控制,默认是每5s钟自动刷新一次(动态的显示)
                top -d 3 指定每三秒刷新一次
                       -c 显示整个命令行而不仅只是显示命令名
                       -q 立刻显示更新所显示的信息
     进程的挂起与恢复:
             进程转后台:ctrl+z或bg 标志号 (挂起)  如果开启时,可以在后面使用&
             进程中断:  ctrl+c
             查看后台有多少进程:jobs
             将后台的进程转到前台:fg 标志号
             后台进程可以转到前台用kill杀死,
        
      
3一次性安排进程任务
        at  安排作业在某一时刻执行一次
        batch 安排作业在系统负载不重时执行一次
 
        第一:开启 atd
                service atd start
                at 时间             #注意:在某个时间点执行某个程序(命令),一定要使用命令的全路径eg. cp为 /bin/cp(可用whereis查看命令的路径)
                                    1绝对计时方法 midnight noon today H:M tomorrow H:M mm/dd/yyyy
                                    2.相对计时方法  now +n minutes
                                                    now +n hours
                                                    now +n day
                                      指定在今天下午5“30执行某个程序(假设现在是中午12:00,2009、9、16)
                             at 5:30pm
                             at 17:30
                             at 17:30 today
                             at now + 5 hours
                             at now +300 minutes
                             at 17:30 16.9.2009
                             at 17:30 9/16/2009
                       


                                                 
            >/ bin/cp -r /root/* /home/xsphp
                at -l或者atq 来查看任务
                at -d或atrm   删除任务
             使用命令文件
                at -f 文件 时间点     #可以将命令写进一个文件,方便之后编辑
                at < 文件 时间点      
 
           at的执行结果和配置文件
                     at的结果 通过邮件寄给提交这个命令的用户
           at的配置文件,限制哪些用户可以使用at命令
                    /etc/at.allow
                     如果这个文件存在,那么只是列在此文件中的用户才可使用at命令,如果这个文件不存在则查/etc/at.deny
                    /etc/at.deny
                    如果这个文件存在,则在此文件中列出的用户都不能使用at命令

                    如果这两个文件都不存在,则只有root 用户可以使用at命令
                    如果两个文件都存在,而且均为空,则所有用户都可以使用at命令

                   
4.周期性安排进程任务
              1、使用service crond start(开启crond进程)
             crond进程搜索crontab文件并放入内存
                 crondab文件即/var/spool/cron/目录下以用户名命名的文件
                 crond进程启动以后,它将首先检查是否用户设置了crontab文件,如果没有,转入"休眠"状态,释放系统资源
               
                 crond 进程每分钟醒来一次,查看crontab文件决定当前是否有需要执行的命令,命令执行结束后,任何输出都将作为邮件发送给crontab的所有者
                   crontab -e 使用编辑器编辑当前的crontab文件,当结束时会自动安装
                  crontab -l   在使用标准输出中输出显示当前的crontab
              crontab -r   删除当前的crontab文件
                  

        由六部分组成
                minute :一小时中的哪一分钟[0-59]
                hour   :一天中的哪个小时[0-23]
                day of month :一个月中的哪一天[1-31]
                month of year :一年的哪一个月[1-12]
                day of week:一周中的哪一天[0-6]
                commands:执行的命令。也可以使用命令的全路径/bin/cp不能是cp
                这些项都不能为空。必须填入
                如果用户不需要指定其中的几项,那么可以使用通配符号*表示任何时间,每个时间字段都可以指定多个值,它们可以用逗号间隔
                命令应该给出绝对路径,用户必须具有运行所对应命令或程序的权限
                
               /etc/cron.allow    同之前的at
               /etc/cron.deny




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值