RHEL6上课笔记之background_process_command
????? 有四種進程: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,那么考卷都不會有。所以注意這里。更改網絡配置時盡量不要用圖形界面。
?
轉載于:https://blog.51cto.com/2928675/1114740
總結
以上是生活随笔為你收集整理的RHEL6上课笔记之background_process_command的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Jboss 安全和优化
- 下一篇: 使用SecureCRT时屏幕僵死的处理方