我想启动一个不执行任何操作但仍在运行的进程。假设我启动了一个名为 的进程sadhadxk
,当我运行时,pgrep -x "sadhadxk"
我会得到 PID 号,就像任何正常进程一样。
那么有没有办法启动一个虚拟进程呢?
答案1
你可以这样做:
perl -MPOSIX -e '$0="sadhadxk"; pause' &
它应该在支持它的系统上设置进程名称和 argv[0],因此应该sadhadxk
在ps
和输出中显示,因此应该与和ps -f
匹配。pgrep -x
pgrep -fx
答案2
> bash -c 'exec -a sadhadxk sleep 1000000' &
pgrep
不起作用但是
> ps | grep '[s]adhadxk'
18931 [...] sadhadxk 1000000
更正:pgrep
确实有效,但不适用于命令名称(这是正在运行的二进制文件的名称),仅适用于命令行:
> pgrep -f sadhadxk
18931
答案3
尝试这样做:
sleep 600 &