如何使用任何名称启动一个什么都不做的进程?

Dis*_*ame 14 bash process

我想启动一个什么都不做但仍在运行的进程。假设我启动了一个名为 的进程sadhadxk,当我运行时,pgrep -x "sadhadxk"我将获取 PID 号,就像任何正常进程一样。

那么有没有办法启动一个虚拟进程呢?

Sté*_*las 13

你可以这样做:

perl -MPOSIX -e '$0="sadhadxk"; pause' &
Run Code Online (Sandbox Code Playgroud)

它应该在支持它的系统上设置进程名称和 argv[0] ,因此应该同时显示sadhadxkpsps -f输出中,因此应该与pgrep -x和匹配pgrep -fx


Hau*_*ing 10

> bash -c 'exec -a sadhadxk sleep 1000000' &
Run Code Online (Sandbox Code Playgroud)

pgrep 不起作用但是

> ps | grep '[s]adhadxk'
18931  [...] sadhadxk 1000000
Run Code Online (Sandbox Code Playgroud)

更正:pgrep确实有效,但不适用于命令名称(这是正在运行的二进制文件的名称),仅适用于命令行:

> pgrep -f sadhadxk
18931
Run Code Online (Sandbox Code Playgroud)


Gil*_*not 2

尝试这样做:

sleep 600 &
Run Code Online (Sandbox Code Playgroud)