当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > 执行程式:多工与Session

Unix/Linux
查看linux 下已经安装的软件包信息
linux 系统中软件raid 配置方法
linux 下MySQL服务器的启动与停止
linux 系统下FTP服务器配置方法
Linux系统下如何挂载U盘,硬盘,光驱
linux 系统下DHCP服务器 配置方法
Linux系统下软件的安装与卸载
在Fedora 9中启用ext4文件系统的方法
linux下挂载(mount)光盘镜像文件、移动硬盘、U盘、Windows网络共享和NFS网络共享
Linux查看文件夹大小的命令
LINUX系统grub常见错误分析
llinux fdisk分区工具 使用方法
linux 系统telnet乱码
rhythmbox 乱码的解决方法
linux单网卡绑定多ip
tar.gz 和tar.bz2 详细解释
linux学习笔记
linux系统rpm安装包详解
linux 服务器常用维护命令
出现The file /boot/grub/stage1 not read cor 解决办法

Unix/Linux 中的 执行程式:多工与Session


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 95 ::
收藏到网摘: n/a


  要执行一个程式, 就像 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 下也试试, 比较一下它们效率的不同, 然後你就会知道你的选择是否正确了.