电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

执行程式: 多工与 Session


发布日期:2022/10/15
 

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

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

$ command s s sn par par parn <input >output

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

$ command ; command ; ; commandn

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

切换 session :

$ <ALTF <ALTF

开始一个新的 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 <PID>

$ kill <PID>

此外 shell (像 COMMANDCOM 相等的东西) 允许你暂停某个行程的执行 或是把前景换到背景执行 背景换来前景 我们用工作来称呼行程

查看有多少工做:

$ jobs

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

暂停一个前景的行程:

$ <CTRLC>

(但不总是有效 :p )

暂停前景的程式:

$ <CTRLZ>

(ditto)

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

$ bg <job>

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

$ fg <job>

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

$ kill %<job>

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

上一篇:Redhat 8.0 下Gaim0.58 for QQ、MSN完全教程

下一篇:绝不是烧钱盘点甲骨文2007年十大收购