Linux 进程列表、后台模式、 协程(操作向)

1. 进程列表

  • 在一行中指定依次运行的一系列命令,在命令之间添加;
    命令列表 pwd; ls # 不能放到后台进程
    进程列表 (pwd; ls) # 子shell运行结束会返回到父shell,尽管与命令命令列表看起来相似
    进程分组 {pwd; ls} 不会启动子shell,像命令列表一样,只是给命令进行了分组
    
    # shell 子进程:($BASH_SUBSHELL环境变量)
    ls; echo $BASH_SUBSHELL; (pwd; echo $BASH_SUBSHELL; (ls; echo $BASH_SUBSHELL))
    # $BASH_SUBSHELL回显的值
    0 # 根shell
    1 # 子shell
    2 # 第二层子shell
    
  • 进程列表会生成一个子shell来执行对应的命令,借助环境变量来$BASH_SUBSHELL查看是否存在子shell
    ps:sleep的默认单位为 秒

2. 后台模式

  • 后台模式会进入任务列表jobs
    sleep 300&
    jobs
    jobs -l
    ps -f --forest
    
    在这里插入图片描述
  • 子shell被sleep暂停,不执行sleep的下一条指令,当sleep被kill时,sleep下一条指令被执行,子shell进程运行结束

3. 协程

  1. 功能与进程列表相似:在子shell中执行。
    coporc My_job { sleep 10; } # 子进程中运行进程分组
    在这里插入图片描述

4. 协程、后台模式、进程列表

  1. 协程 可以同时做两件事,它在后台生成一个子shell,并在这个子shell中执行命令。

  2. 后台模式 中运行命令可以在处理命令的同时让出CLI,以供他用。

  3. 进程列表 是运行在子shell中的一条或多条命令。

    注: 目前看来协程和进程列表作用相同,利用子shell执行命令,然后会在任务列表增加任务

5. 外部命令、内建命令

  • 衍生 forking 当外部命令执行时,会创建一个子进程。
    # 外部命令
    # 寻找外部命令的位置 
    which ps
    # 查看命令类型 外部命令或内建命令 有些命令echo、pwd有多种实现,它们既有内建命令也有外部命令
    type ps
    type -a ps # 显示所有位置
    
    # 内建命令
    type -a echo # 同时有内建和外部命令,优先使用内建
    echo is a shell builtin
    echo is /usr/bin/echo
    echo is /bin/echo
    

6. history

  1. !! 快速重复执行上条指令
  2. ![line_num]
  3. history -a将当前终端的历史记录行添加到历史记录文件
  4. history -w 将当前历史记录列表附加到历史记录文件中并且附加它们到历史列表中

7. 其他

  1. wc 计数 -l 统计行数
  2. grep 搜索符合条件的字符串
  3. 递归查找某目录下的所有文件 find ~ -name typescript
  4. script 开始脚本记录,exit 保存记录并停止记录
  5. shell 子shell 孙shell 曾孙 shell ps -f --forest
  6. alias 别名
PATTERNS
       PATTERN is a shell pattern (not a regular  expression).   The
       pattern  ?  matches  any one character, whereas * matches any
       string (composed of zero, one or multiple  characters).   For
       example,  *.o  will  match  any  files whose names end in .o.
       Therefore, the command

              du --exclude='*.o'

       will skip all files and subdirectories ending in .o  (includ‐
       ing the file .o itself).
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值