我是编写代码的新手。为了获得进程ID,我得到了下面的代码,但是我无法理解下面的命令究竟是做什么的,请你解释一下。
for PID in `ps -u ${instuser} -o pid,args |
grep "\-classpath :$path" | grep -v grep | sed 's/^ *//g' | cut -f1 -d' '`
特别是我无法理解为什么他们使用了pid,args和sed命令。
你能帮我一下吗?
答案 0 :(得分:1)
ps命令的-o
选项控制输出的显示方式,如手册所示:
-o
格式用户定义的格式。 format是一个以空格分隔或以逗号分隔的列表形式的单个参数,它提供了一种方法 指定单个输出列。
sed命令
sed 's/^ *//g'
修剪输出开头的空格。
答案 1 :(得分:0)
该命令基本上是为linux用户搜索所有进程。变量$ {instuser}代表用户。
-o选项是格式化选项。该命令使用了pid(processid)和args,它是用于启动进程的完整参数集。
grep用于过滤和显示参数列表中具有“类路径”的进程。
grep -v grep用于删除运行grep命令的进程。
sed用于将所有文本替换为null。在这种情况下,您将丢弃所有以空格开头的地方。 ^用于标识开头并用null替换它。
cut用于获取第一个字段-f1,它是进程ID。