有四种进程:1,ps(长命前台)。2,短命前台。3,长命后台。4,更长命后台(守护进程)。
[root@station10 ~]# ps
PID TTY TIME CMD
10036 pts /2 00:00:00 bash
10045 pts /2 00:00:00 ps
执行一个sleep。使用命令pstree查看。
[root@station10 ~]# sleep 111
├─gnome-terminal─┬─bash───sleep
======================================================================
[root@station10 ~]# sleep 111 & --------------》将sleep 111 转入后台运行。
[1] 10066
[root@station10 ~]# jobs -----------》查看后台
[1]+ Running sleep 111 &
[root@station10 ~]# fg %1 -----------》激活到前台运行。加中括号中的数字
sleep 111
^Z ------------------》ctrl + z 将其送入后台
[1]+ Stopped sleep 111
[root@station10 ~]# bg %1 ---------》让sleep运行起来。
[1]+ sleep 111 &
[root@station10 ~]# jobs
[1]+ Running sleep 111 & -------------》运行起来了
======================================================================
后台进程一点都不安全。因为如果把控制台窗口关掉那么后台进程也一起被关掉。只有后台守护进程才安全,就算把控制台关掉也还是在运行,这就是后台守护进程。后台守护进程的输出不再控制台上,而是在:nohup.out上。自动生成在当前运行的位置。
如何让进程成为后台守护进程?
使用命令:nohup … &
[root@station10 ~]# nohup sleep 1000 &
[1] 10390
[root@station10 ~]# nohup: 忽略输入并把输出追加到"nohup.out"
把控制台关掉另打开一个控制台查看(不能使用ctrl + c ,那是停止。)
[root@station10 ~]# ps -eo pid,user,tty,group,command | grep sleep
10301 root ? root sleep 1000 ------------》tty处打问号,就是后台守护进程
10380 root pts/0 root grep sleep 1000
======================================================================
df -h 读取速度比 du -sh 快。因为df -h 是读取超级块。du -sh 需要域计算。
======================================================================
登入tty时自动打出当前位置:
vim /usr/local/sbin/welcome.sh
#!/bin/sh
v_address=$( ps | head -n 2 | tail -n 1 | cut -d ' ' -f 3 )
echo “welcome $USER, your are at ${v_address}.”
vim /root/.bash_profile
. /usr/local/sbin/ttydep --------》调用过来执行
======================================================================
使用ps -ef 命令看到的中括号都是内核空间的进程,其实内核空间是没有进程的。因为内核空间是混沌的。
[root@station10 ~]# ps -ef | less
[root@station10 ~]# ps aux -Z | less
[root@station10 ~]# ps -eo pid,command,user,group,nice,tty ---------》自己组合命令。
[root@station10 proc]# pwd
/proc -----------------》进程号所在
======================================================================
top 命令
======================================================================
抓桌面的一个小结:测试哪些机器是可以连通的,然后在对连通的机器进行ssh。
vim ping1.sh
#!/bin/sh
rm -f tong1.txt
for i in {1..89}
do
if ping -q -n -c 10 -W 1 -i 0.01 -w 1 192.168.0.$i >/dev/null 2>&1
then
echo 192.168.0.$i >> tong1.txt
fi
done
cat tong1.txt
以上这个ping程序等待的时间很长。
-------------------------------------------------------------------
vim ping2.sh
#!/bin/sh
rm -f tong2.txt
for i in {1..89}
do #加了括号
(if ping -q -n -c 10 -W 1 -i 0.01 -w 1 192.168.0.$i >/dev/null 2>&1
then
echo 192.168.0.$i >> tong2.txt
fi) & #送入后台
done
wait
#等待最后一个ping完后再查看。
cat tong2.txt
ping2程序的效率远远高于ping1程序的效率
======================================================================
进程调优
[root@station10 /]# ps -eo pid,nice,user,group,command ---------》nice(优先级)
优先级最高的是-20,最低优先级是19。只有root可以把进程的优先级调到-20,其它用户不能把自己的进程调到-20,只能降低自己优先级。
[root@station10 /]# nice -n -20 sleep 333 & ---------》一时的调sleep 333 优先级,并送入后台。
[1] 10261
[root@station10 /]# ps -eo pid,nice,user,group,command | grep sleep
10261 -20 root root sleep 333
10263 0 root root grep sleep
======================================================================
software manager:
注册一个RHN.rehdat.com的帐号,然后把机器注册到官网上,官网会自动的查出一些需要更新的程序。并且使用的是网络yum源,而不是本地yum源。
把学生机端口指向老师机器来,登上RHN.redhat.com注册帐号,(该帐号是终生绑定制的一人一个)。
配置本机路由:
[root@station10 ~]# netstat -nr ---------》查看ip配置情况
[root@station10 ~]# route del -net 0.0.0 .0
[root@station10 ~]# route add -net 0.0.0 .0 gw 192.168.0.90
[root@station10 ~]# vim /etc/resolv.conf
nameserver 192.168.0.90
([root@station10 ~]# vim /etc/yum/pluginconf.d/refresh-packagekit.conf
enable=0)?????????
======================================================================
如果机器的空间不够用了,那么可以把/usr/share/doc里的所有内容删掉。
======================================================================
gateway 写在 /etc/sysconfi/network里。注意NETWORKING=yes。RHCE考试时如果这个是等于no,那么考卷都不会有。所以注意这里。更改网络配置时尽量不要用图形界面。