我想启动一个什么都不做但仍在运行的进程。假设我启动了一个名为 的进程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)