Linux

来源:互联网 发布:python def peven (n) 编辑:程序博客网 时间:2024/06/15 09:03

alias

为一个命令体一个别名,简化操作

  alias hi='ls -a';

父程序与子程序

登录shell后,就会产出一个bash的pid,在bash下执行命令也会产生一个子程序,成为子程序,继承父程序,子程序可以取得父程序的环境变量。

$ ps -lF S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD0 S   500  2372  2369  0  80   0 -  1311 -      pts/0    00:00:00 bash0 T   500  2471  2372  0  80   0 -  2840 -      pts/0    00:00:00 vim0 R   500  2627  2372  0  80   0 -  1220 -      pts/0    00:00:00 ps

实现原理:

  • 系统先以 fork 的方式复制一个与父程序相同的暂存程序,这个程序不父程序唯一的差别就是 PID的不同! 但是这个暂存程序还会多一个 PPID 的参数,PPID 如前所述,是父程序ID。
  • 暂存程序开始以exec的方式开始加载实际要执行的程序
  • -

把程序放到后台中运行,避免ctrl+c时关掉

  ./mongod --dbpath=/data/db &

&表示程序在后台中执行。完成后系统会在终端打印提示信息。放入背景中的认为不可被ctrl + c掉。

将目前正在执行的程序丢到背景中:ctrl-z(暂停)

如果我们正在使用vi编辑某个文件,但是想不到是哪个文件。此时需不需要终止vi,而去进入前景中查询文件了。不需要,只需要按下ctrl-z

查看背景中执行的任务

jobs命令

-l :除了列出 job number 与指令串之外,同时列出 PID 癿号码;
-r :仅列出正在背景 run 癿工作;
-s :仅列出正在背景当中暂停 (stop) 癿工作。

[jiaxiangjuan@192 Desktop]$ jobs -l[1]-  2446 Stopped                 vim ~/.bashrc[2]+  2458 Stopped                 find / print[jiaxiangjuan@192 Desktop]$ 

其中[1],[2]代表工作号

将暂停背景工作拿到前景来处理

 fg %工作号
[jiaxiangjuan@192 Desktop]$ fg %1

将暂停背景工作在背景中继续运行

 bg %工作号

####管理背景中执行的任务

killkill -1 :重新读取参数的一次配置文件kill -9:立刻强制删除一项工作kill -15:以正常的程序方式终止一项工作

如果想要管理bash的工作控制,只需要执行 :kill -9 %工作号;

注:上文工作管理当中提到的『背景』是在终端机模式下可以避克 [crtl]-c 中断的一个情境, 并不是放到系统的背景去喔。当退出终端时,背景中的任务会被中断。at命令就在系统的背景中去执行的。

nohup命令

nohup 可以让你在脱机或注销系统后,还能够让工作继续运行。

 nohup [命令或参数] //在终端机前景中工作 nohup [命令或参数] & //在终端机背景中工作
nohup并不支持bash内建的指令,指令必须是外部指令才行
原创粉丝点击