您的位置:首页 > 其它

系统启动,关闭和管理作业

2008-10-11 09:49 169 查看
1。启动系统。
一直以为启动系统是一件很简单的事,实际上其中包含了很多东西。。并不简单的是按一下pow-on。下面是一些需要注意的事项。
1)拿走所有启动的媒介。。。
如果你的UNIX系统在Intel处理器上运行,那么Windows启动病毒有可能阻止你的UNIX启动。。
2)在打开主机之前打开辅助子系统的电源。。
这样才能保证系统正确检测外部设备,否则有可能导致某些外部设备不能正常使用,甚至系统无法启动。。

下面便是系统启动的步骤。。
1)运行加电诊断
2)加载内核
3)安装根磁盘并检查它(fsck命令)
4)用户登录。。

2。单用户模式和多用户模式
3。运行级别(可用who -r查看)

如:[lyaqys@localhost ~]$ who -r
run-level 5 2008-10-11 09:13 last=S
其中S代表之前的运行级别是S(单用户模式),这是每次启动系统必须经过的状态。。关于每个运行级别的含义可以在/etc /inittab中看到
4。关闭系统
正确关闭系统(并不是简简单单的点击关闭就可以了)也是很重要的。。。
1)使用who和ps确保没有用户和程序正在更新系统中的文件。。
2)正确关闭所有需要在系统关机前关闭的数据库。
3)cd /确认关闭系统时处于根目录下。。如果处于一个已经被安装的目录,那么你可能会在后来卸载它时遇到麻烦(这我不知道为什么)
4)shutdown
5。在系统启动或关闭是自动执行作业
/etc/rc*(rc代表run control,运行控制)
6。任何用户都能自动执行作业
在系统启动时一般会执行/etc/profile和.profile(在$HOME下),用户可以在.profile下做下列作业:
1)设置自己的登录环境
2)设置shell变量
3)为系统添加额外的安全性
比如你可以通过shell编程,判断出一个用户是否从远程登录的,如果是并且你觉得这样不安全的话,可以在profile中执行exit,这样用户登录将终止。。
7。调度作业以定期返回
crontab命令(chronological tables)
8。分配作业优先级
1)查看作业的优先级
ps -lf | more f:full,l:long
nice值:nice值越高,获取资源和时间的优先级越低(对别人越nice),不同的系统有不同的nice取值范围,默认去中间值。
2)nice -VAL CMD表示以default+VAL的nice值执行CMD,如果是管理员则可以用--VAL来减小nice值,以获得更高的优先级。如:
nice -5 ps -lf | nice -7 more

[lyaqys@localhost ~]$ nice -5 ps -lf | nice -7 more
F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD
0 S lyaqys 3267 3264 0 80 0 - 1553 wait 09:49 pts/1 00:00:00 /bin/bash
0 R lyaqys 3426 3267 1 85 5 - 1476 - 10:25 pts/1 00:00:00 ps -lf
0 S lyaqys 3427 3267 0 87 7 - 1319 pipe_w 10:25 pts/1 00:00:00 more

[root@localhost lyaqys]# nice --5 ps -lf | nice -7 more
F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD
4 S root 3431 3267 0 80 0 - 1531 wait 10:26 pts/1 00:00:00 su
4 S root 3434 3431 0 80 0 - 1553 wait 10:26 pts/1 00:00:00 bash
4 R root 3465 3434 0 75 -5 - 1474 - 10:26 pts/1 00:00:00 ps -lf
4 S root 3466 3434 0 87 7 - 1319 pipe_w 10:26 pts/1 00:00:00 more
3)改变某个已有作业的优先级
renice -n VAL PID
9。管理后台作业
CMD &将在后台执行CMD命令,为了防止退出杀死后台作业,你可以采用nohup,这样即使你退出,作业仍在后台执行,但是你必须重定向标准输出和标准错误输出(因为是在后台执行,这样可以将他们保存到一个log文件里,便于以后检查),如果没有重定向,nohup自动创建一个nohup.out
10。kill一个作业
kill PID,如果某些CMD不合作,你可以用kill -9 PID,这会保证你能杀死PID,但是也是比较危险的,所以一定要检查两遍以上的PID号,以免“错杀好人”,一失足成千古恨!
11。用ps查找PID
你可以使用ps -ef或者ps aux,这要看你的系统支持哪个。。当然你可以用grep在众多的输出选在或者删除(grep -v)你所要的。。。
12。后台作业管理
1)jobs命令列出所有后台作业
2)Ctrl+Z来挂起当前作业(stopped)
3)bg %JOBID运行程序在后台运行(running)
4)fg %JOBID(或者简单的用%JOBID)让后台程序到前台来运行
5)kill %JOBID杀死一个后台程序,%%代表最近的作业,%-代表次最近的作业。。
6)在后台作业输出前暂停它们
stty tostop让后台作业在启动输出之前挂起。。
CMD &
jobs查看后台作业是否stopped,若是,已准备好输出,running表示没有
fg %JOBID将该job放到前台输出。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: