红联Linux门户
Linux帮助

补充一些Linux进程相关的东西

发布时间:2007-06-04 12:19:45来源:红联作者:MicsDembly
  守护进程Daemon,在后台运行而又没有终端或登录shell 与之接合在一起的进程。

  启动方式:

  1引导系统时启动:系统启动script执行期间启动,这些script一般放在/etc/rc.d中
  2手工从shell提示符启动
  3由crond启动
  4at命令启动

  进程挂起 Ctrl+Z
  后台执行 bg
  前台执行 fg

  常用命令

  一、名称 : at
  使用权限 : 所有使用者
  使用方式 : at -V [-q queue] [-f file] [-mldbv] TIME
  说明 : at 可以让使用者指定在 TIME 这个特定时刻执行某个程序或指令,TIME 的格式是 HH:MM其中的 HH 为小时,MM 为分钟,甚至你也可以指定 am, pm, midnight, noon, teatime(就是下午 4 点锺)等口语词。

  如果想要指定超过一天内的时间,则可以用 MMDDYY 或者 MM/DD/YY 的格式,其中 MM 是分钟,DD 是第几日,YY 是指年份。另外,使用者甚至也可以使用像是 now + 时间间隔来弹性指定时间,其中的时间间隔可以是 minutes, hours, days, weeks。

  另外,使用者也可指定 today 或 tomorrow 来表示今天或明天。当指定了时间并按下 enter 之后,at 会进入交谈模式并要求输入指令或程序,当你输入完后按下 ctrl+D 即可完成所有动作,至于执行的结果将会寄回你的帐号中。

  参数 :
  -V : 印出版本编号
  -q : 使用指定的伫列(Queue)来储存,at 的资料是存放在所谓的 queue 中,使用者可以同时使用多个 queue,而 queue 的编号为 a, b, c... z 以及 A, B, ... Z 共 52 个
  -m : 即使程序/指令执行完成后没有输出结果, 也要寄封信给使用者
  -f file : 读入预先写好的命令档。使用者不一定要使用交谈模式来输入,可以先将所有的指定先写入档案后再一次读入
  -l : 列出所有的指定 (使用者也可以直接使用 atq 而不用 at -l)
  -d : 删除指定 (使用者也可以直接使用 atrm 而不用 at -d)
  -v : 列出所有已经完成但尚未删除的指定

  例子 :
  三天后的下午 5 点锺执行 /bin/ls :
  at 5pm + 3 days /bin/ls
  三个星期后的下午 5 点锺执行 /bin/ls :
  at 5pm + 2 weeks /bin/ls
  明天的 17:20 执行 /bin/date :
  at 17:20 tomorrow /bin/date
  1999 年的最后一天的最后一分钟印出 the end of world !
  at 23:59 12/31/1999 echo the end of world

  当使用at命令提交脚本时,形式 如下
  at [-f script] [-m -l -r] [time] [date]
  例一:提示符方式

  # su sam
  $ at 10:40
  warning: commands will be executed using (in order) a) $SHELL b) login shell c) /bin/sh
  at> find /etc -name "passwd" -print
  at>
  job 1 at 2004-11-02 10:40

  其中, < E O T >就是< C T R L - D >。在10:40系统将执行一个简单的f i n d命令。提交的作业被分配了一个唯一标识job 1。该命令在完成以后会将全部结果以邮件的形式发送给我。

  例二:命令行方式

  如果希望向a t命令提交一个s h e l l脚本,使用其命令行方式即可。在提交脚本时使用- f选项。如:

  $ touch db_table.sh
  $ at 3:00pm tomorrow -f db_table.sh
  warning: commands will be executed using (in order) a) $SHELL b) login shell c) /bin/sh
  job 3 at 2004-11-02 15:00

  在上面的例子中,一个叫做d b _ t a b l e . s h的脚本将在2004-11-02 15:00运行。

  (touch的作用如下──1.创建空文件 2.更新访问修改时间戳)

  与at很相似的一个命令,batch在资源空闲时执行

  二、cron
  建立crontab的步骤
  1建立文件: vi job(新文件名,假设/root/job,用户是tian)
  2安装文件: crontab job
  这时,/var/spool/cron目录下就会 多了一个tian文件

  三、ps
  -e 显示所有进程信息
  -f 显示进程所有信息
  -aux 显示 所有终端所有用户的信息

  四、top 和ps很像,但它是个动态显示过程
  top -d 30(间隔秒数)
   -n 10 更新次数

  五、sleep命令 暂停 进程
  sleep 100 ; ls

  六、ICMP报文

  1 ping查询 /usr/bin/
  原理是用类型码为0的ICMP发请求,收到请求的主机则用类型码为8的ICMP回应。ping程序来计算间隔时间,并计算有多少个包被送达。用户就可以判断网络大致的情况。

  2 traceroute /usr/sbin/
  它收到目的主机的IP后,首先给目的主机发送一个TTL=1(还记得TTL是什么吗?)的UDP(后面就 知道UDP是什么了)数据包,而经过的第一个路由器收到这个数据包以后,就自动把TTL减1,而TTL变为0以后,路由器就把这个包给抛弃了,并同时产生 一个主机不可达的ICMP数据报给主机。主机收到这个数据报以后再发一个TTL=2的UDP数据报给目的主机,然后刺激第二个路由器给主机发ICMP数据 报。如此往复直到到达目的主机。这样,traceroute就拿到了所有的路由器ip。从而避开了ip头只能记录有限路由IP的问题。
文章评论

共有 0 条评论