IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    sh script.sh与./script.sh的差异

    hongjiang发表于 2015-10-09 12:43:14
    love 0

    这两种方式差异是进程名称的不同,假设有以下内容的脚本:

    $ cat script.sh
    #!/bin/bash
    sleep 4400
    

    以sh script.sh执行,它是明确的启动一个sh命令,把脚本名称做参数传递给它,进程名称是sh:

    $ pstree  
     ...
     |-sshd-+...
     |      |-sshd---sshd---bash---sh---sleep
    

    而以./script.sh方式执行,操作系统负责脚本加载(execve系统调用),进程名称是脚本名

    $ pstree  
     ...
     |-sshd-+...
     |      |-sshd---sshd---bash---a.sh---sleep
    


沪ICP备19023445号-2号
友情链接