执行程式: 多工与 Session

王朝other·作者佚名  2008-05-31
宽屏版  字体: |||超大  

要执行一个程式, 就像 DOS 一样键入它的名字就可以了. 假如说这个程式被放在 PATH(第四节) 指定的目录 (第二节), 那麽该程式就会被启动. 例外的是, Linux 不像 DOS可以执行放在现行目录下的程式 (.) , 除非 . 已经加入 PATH 中了. 若要执行现行目录下的程式, 可以这样做: ./<prog>.

这是一个标准命令的格式:

$ command -s1 -s2 ... -sn par1 par2 ... parn <input >output

-s1 , -s2 ... -sn 是命令选项, parn 是程式参数. 我们可以在同一行上键入数个命令:

$ command1 ; command2 ; ... ; commandn

这就是执行命令的方法, 但是我们可以更进一步. 一个使我们使用 Linux 的主要原因是, 它是一个多工的系统 -- 它可以同时执行数个程式 (以下, '程式'用'行程'代替)你可以将一个原本在背景执行的行程提升到前景并继续执行. 而且, Linux 可以使你有多个 session : 这就像同时有好几台电脑在工作!

- - 切换 session 1..8:

$ <ALT-F1> ... <ALT-F8>.

- - 开始一个新的 session , 但不离开原本 session :

$ su - <loginname>

例如:

$ su - root

这相当有用. 比如, 当你要 mount 一个磁碟(机) 时. 因为只有 root可以作这件事.

- - 结束一个 session:

$ exit

- - 在前景执行一个行程:

$ progname [-switches] [parameters] [<input] [>output]

- - 在背景启动一个行程(在背景执行) 要加上 '&' 这个符号:

$ progname [-switches] [parameters] [<input] [>output] &

- - 查看有多少行程正在执行:

$ ps

这样会列出一个表格. 每一个行程都会有一个 PID 来识别 (一个数字).

- - 杀掉一个行程:

$ kill <PID>

有时後你必需用这个方法来结束一些行程 (当你不知道怎样正确结束时 :) 一个行程或许要用以下方法才可以结束:

$ kill -15 <PID>

$ kill -9 <PID>

此外, shell (像 COMMAND.COM 相等的东西) 答应你暂停某个行程的执行, 或是把前景换到背景执行, 背景换来前景. 我们用'工作'来称呼行程.

- - 查看有多少工做:

$ jobs

这样列出来的工作是以一个 shell 分配的数字来区别的, 而不是用 PID.

- - 暂停一个前景的行程:

$ <CTRL-C>

(但不总是有效 :p )

- - 暂停前景的程式:

$ <CTRL-Z>

(ditto)

- - 将一个被暂停的程式移到背景继续执行:

$ bg <job>

- - 把一个背景执行中的程式提升到前景:

$ fg <job>

- - 再一次的, 要砍掉一个行程:

$ kill %<job>

这里的 <job> 可能是 1, 2, 3, ... 有了这些命令你就可以在同一个时间格式化磁碟,压缩档案, 编译一个程式, 还可以解压缩, 而且, 你仍然还是看到提示号和游标在等待你的命令. 不妨在 DOS 下试试看这麽做吧!! 在 Windows 下也试试, 比较一下它们效率的不同, 然後你就会知道你的选择是否正确了.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有