为什么“ps”中没有出现“echo”?

2023-12-06

我很难理解 ps 命令上显示的内容。为了测试我的理解,我创建了下面的虚拟脚本

 #!/bin/bash
 for i in {1..100000}
 do
  date -u
  date -u
  date -u
 done

运行此脚本时,我打开了一个新终端并重复执行

ps -eaf | grep date | grep -v grep

我能够在输出中确定过程的日期。

后来我通过替换更改了虚拟脚本date -u with echo "what is going on"

     #!/bin/bash
     for i in {1..100000}
     do
      echo "What is going on"
      echo "What is going on"
      echo "What is going on"
     done

在运行更新的虚拟脚本时,我打开了一个新终端并重复执行

ps -eaf | grep echo | grep -v grep

并且 echo 从未在输出中显示。为什么是这样?我怀疑原因是该脚本是 bash 脚本,可能是它使用内置 echo,因此它没有显示在 ps 输出中。我对么?我在这里缺少什么?


echo是 bash 中的内置函数:

$ type echo
echo is a shell builtin

这意味着当以下情况时不会创建新进程echo正在运行。所有工作均由bash而是采用流程,效率更高。

您可以运行非内置echo明确地:

command echo "What is going on"

这个分叉和执行/bin/echo相反,让它出现在ps.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么“ps”中没有出现“echo”? 的相关文章

  • gdb查找行号的内存地址

    假设我已将 gdb 附加到一个进程 并且在其内存布局中有一个文件和行号 我想要其内存地址 如何获取文件x中第n行的内存地址 这是在 Linux x86 上 gdb info line test c 56 Line 56 of test c
  • 将相对符号链接转换为绝对符号链接

    如何在 bash 中递归地将相对符号链接转换为绝对符号链接 ln sf readlink f link link
  • chown:不允许操作

    我有问题 我需要通过 php 脚本为系统中的不同用户设置文件所有者权限 所以我通过以下命令执行此操作 其中 1002 是系统的用户 ID file put contents filename content system chown 100
  • sendfile64 只复制约2GB

    我需要使用 sendfile64 复制大约 16GB 的文件 到目前为止我所取得的成就是 include
  • UNIX系统调用监视器

    如何监控进程的系统调用 Check strace http linux die net man 1 strace 在最简单的情况下 strace 运行指定的命令直到退出 它拦截并记录进程调用的系统调用以及进程接收的信号 每个系统调用的名称
  • 使用 sed 更新 xml 属性(Windows + cygwin 和 Linux)?

    我需要使用 sed 命令对 xml 文件进行更新 但我在这方面遇到了麻烦 它需要在 Windows 使用 cygwin 和 Linux 上运行 XML 具有以下元素
  • 加载数据infile,Windows和Linux的区别

    我有一个需要导入到 MySQL 表的文件 这是我的命令 LOAD DATA LOCAL INFILE C test csv INTO TABLE logs fields terminated by LINES terminated BY n
  • OSX bash 最小化窗口

    在 Mac 中并使用 bash shell 我想执行一个包含单个命令 启动 Jupyter Lab 的文件并立即最小化终端窗口 有没有办法在不安装第三方软件的情况下做到这一点 是的 只需使用osascript https ss64 com
  • vector 超出范围后不清除内存

    我遇到了以下问题 我不确定我是否错了或者它是一个非常奇怪的错误 我填充了一个巨大的字符串数组 并希望在某个点将其清除 这是一个最小的例子 include
  • 尝试安装 LESS 时出现“请尝试以 root/管理员身份再次运行此命令”错误

    我正在尝试在我的计算机上安装 LESS 并且已经安装了节点 但是 当我输入 node install g less 时 出现以下错误 并且不知道该怎么办 FPaulMAC bin paul npm install g less npm ER
  • Discord.net 无法在 Linux 上运行

    我正在尝试让在 Linux VPS 上运行的 Discord net 中编码的不和谐机器人 我通过单声道运行 但我不断收到此错误 Unhandled Exception System Exception Connection lost at
  • awk/Unix 分组依据

    有这个文本文件 name age joe 42 jim 20 bob 15 mike 24 mike 15 mike 54 bob 21 试图得到这个 计数 joe 1 jim 1 bob 2 mike 3 Thanks awk F NR
  • 无法使用 wget 在 CentOS 机器上安装 oracle jdk

    我想在CentOS上安装oracle java jdk 8 我无法安装 java jdk 因为当我尝试使用命令安装 java jdk 时 root ADARSH PROD1 wget no cookies no check certific
  • PHP 从命令行启动 gui 程序,但 apache 不启动

    首先 我阅读了有类似问题的人的一些帖子 但所有答案都没有超出导出 DISPLAY 0 0 和 xauth cookies 这是我的问题 提前感谢您的宝贵时间 我开发了一个小库 它使用 OpenGL 和 GLSL 渲染货架 过去几天我将它包装
  • 如何在 Windows 下向 .sh 脚本传递参数?

    我正在尝试在 Windows 下执行 sh 脚本 我安装了 Git 它允许我执行 sh 文件 但是 如果不使用 sh 作为执行前缀 我似乎无法传递任何参数 我的 sh 文件 echo Test 1 如果我用以下命令执行它 gt sh tes
  • NPTL 和 POSIX 线程有什么区别?

    NPTL 和 POSIX 线程之间的基本区别是什么 这两者是如何演变的 POSIX 线程 pthread 不是一个实现 它是几个函数的 API 规范 纸上的标准 英文 其名称以pthread 以及定义在
  • 如何在shell中输出返回码?

    我正在尝试通过调用自定义 shell 脚本sh bin sh c myscript sh gt log txt 2 gt 1 echo 该命令的输出是创建的后台进程的 PID 我想指导 bin sh保存返回码myscript sh到某个文件
  • 使用 sh 运行 bash 脚本

    我有 bash 脚本 它需要 bash 另一个人尝试运行它 sh script name sh 它失败了 因为 sh 是他的发行版中 dash 的符号链接 ls la bin sh lrwxrwxrwx 1 root root 4 Aug
  • ssh远程变量赋值?

    以下内容对我不起作用 ssh email protected cdn cgi l email protection k 5 echo k 它只是返回一个空行 如何在远程会话 ssh 上分配变量 Note 我的问题是not关于如何将本地变量传
  • ubuntu:升级软件(cmake)-版本消歧(本地编译)[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我的机器上安装了 cmake 2 8 0 来自 ubuntu 软件包 二进制文件放置在 usr bin cmake 中 我需要将 cmake 版本至少

随机推荐

  • winforms 数据绑定仅适用于开发机器

    我的目标是框架 4 0 这在开发计算机上运行良好 我可以在启动时看到表单 其中文本框显示绑定消息 但是 当我在任何其他计算机上部署可执行文件时 它不会声称 无法绑定到数据源上的属性或列注释 非常奇怪的是 如果我针对 3 5 框架进行编译 它
  • scanf 不读取输入

    我阅读了更多有关 scanf 的帖子 发现一些答案机器人没有帮助我 while comanda int tmp if scanf d tmp 0 getchar else comanda tmp fprintf stdout d coman
  • 中断处理程序可以被抢占吗?

    我知道Linux有嵌套中断 其中一个中断可以 抢占 另一个中断 但是其他任务又如何呢 我只是想了解linux如何处理中断 它们可以被其他用户任务 内核任务抢占吗 Reading 为什么在中断上下文中执行的内核代码 线程无法休眠 链接到罗伯特
  • 将图像从一个工作簿复制到另一工作簿

    我在合并单元格范围 S1 V8 的sheet1 中有一张图像 我不知道这张图片的名称 因为每次从模板创建新的 Excel 文件时 我们都会在该区域粘贴不同的图片 我想将此工作簿或另一个工作簿中此范围内的图片复制到单元格 A6 中名为 数据库
  • PHP:在 6 行后结束并开始新的

    我想做一个表 然后每6行应该有一个tr 然后行在td里面 所以例子 tr td td 1 td td 2 td td 3 td td 4 td td 5 td td 6 tr tr start new tr after 6 rows rep
  • Powershell - 我的倒计时器出了什么问题

    我有一个计数器脚本需要两个参数 1 计数器启动前等待的秒数 2 计数器持续时间 以秒为单位 例如 如果我输入 3 10 我希望 3 秒后计时器将从 10 倒计时到 0 并每秒将其写入输出 这是我的脚本 timeBeforeStart arg
  • iOS:CAShapeLayer 路径转换

    我用过CAShape Layer在对路径进行基本变换之前 从较小的圆圈到较大的圆圈 足够好了 但后来我尝试将三角形变成圆形 它有效 但转变很奇怪 换句话说 从一种形状到另一种形状 在形成最终形状之前 它会 翻转 扭曲 对于相同的形状 没有问
  • ASP.NET 捕获并替换 Global.asax 中的输出

    我需要替换从我网站上每个页面发送的一些数据 我认为可以使用 Global asax 来完成 这是我迄今为止尝试过的 void Application PreSendRequestContent object sender EventArgs
  • Azure 成本导出应用什么业务逻辑?

    我想要获取 Azure 中最新的实际成本 似乎有 4 种方法可以实现不同的结果 将成本导出到存储帐户 成本管理API 计费接口 消费API 第 1 种效果很好 但我需要一个 API 而不是文件转储 第 2 种似乎是为了通过高速维度查询为成本
  • 这里 API 偏移地图中心

    我正在使用 Here Android SDK API 我通过以下方式设置位置指示器 positionManager start PositioningManager LocationMethod GPS NETWORK map getPos
  • MongoDB / Express - 如何在通过 connect() 连接后切换数据库

    我正在使用 Express 连接到我的 mongoDB mongodb MongoClient connect mongourl function err database How would one switch to another d
  • HttpClient 异步方法会在新线程中运行吗

    我想知道是否 NetHttpClient async方法在新线程或主线程中运行 例如 在我的控制台应用程序中 我调用async使用以下方法下载 URL 内容HttpClient GetStringAsync method 此方法 GetSt
  • SQL:从 2 个表创建完整记录

    我有一个数据库结构 为了理解问题而简化为最大 Table entry id integer primary key Table fields name varchar primary key and others Table entry f
  • Apache 重写没有 mod_rewrite?

    在没有启用或配置 mod rewrite 的情况下 Apache 如何重写 URL 我正在从我的开发服务器重新设计网站 我在网站部分使用目录结构 但我正在考虑切换到 URL 重写并将相关文件放在网站的根目录中 例如 about 页面有一个名
  • git 从 Linux 克隆到 TFS git 存储库

    我一直在尝试解决托管在本地 TFS2017 上的 Git 存储库的问题 无法从不在域中的 Linux 计算机上执行 git clone 命令 继续获取 致命 身份验证失败 我使用的用户是Linux机器上的本地用户 与域用户同名 密码相同 用
  • Android Volley POST 参数

    我需要调用一个需要字符串数组作为 POST 参数的 api 例如 API 定义 POST api names 预期的 POST 参数是一个名称数组和一些其他属性 如下所示 names John Bill department Enginee
  • Mongodb 在带有正则表达式查询的数组字段上不同?

    基本上我正在尝试在模型上实现标签功能 gt db event distinct tags bar foo foobar 进行简单的不同查询会检索所有不同的标签 但是 我将如何获取与某个查询匹配的所有不同标签 举例来说 我想获得所有匹配的标签
  • Android:尝试在运行时更改 TextView 的宽度

    我有一个文本视图 我试图在运行时更改其大小 但尺寸不变 xml文件中的代码
  • 我可以将图像表单数据传递给 PHP 函数进行上传吗?

    我正在尝试使用 jquery 和 PHP 上传图像 如下所示 HTML
  • 为什么“ps”中没有出现“echo”?

    我很难理解 ps 命令上显示的内容 为了测试我的理解 我创建了下面的虚拟脚本 bin bash for i in 1 100000 do date u date u date u done 运行此脚本时 我打开了一个新终端并重复执行 ps