我想启动一个什么都不做但仍在运行的进程。假设我启动了一个名为 的进程sadhadxk,当我运行时,pgrep -x "sadhadxk"我将获取 PID 号,就像任何正常进程一样。
那么有没有办法启动一个虚拟进程呢?
Sté*_*las 13
你可以这样做:
perl -MPOSIX -e '$0="sadhadxk"; pause' &
Run Code Online (Sandbox Code Playgroud)
它应该在支持它的系统上设置进程名称和 argv[0] ,因此应该同时显示sadhadxk在ps和ps -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)