
#!/bin/sh
#使用read命令读取用户输入的数字,赋值给变量pid
read -p "Input PID: " pid
#ps命令列出所有进程,awk打印第一行标题行及进程号为pid的进程详情,输出到文件output
ps aux | awk -v n=$pid 'NR==1||$2==n{print}' >output
awk命令中,NR为内部变量,表示Number of Record,行号。$2表示第二个字段(PID)。
@echo off
for /f "tokens=2 delims= " %%a in('tasklist^|find /i "RavMonDexe"') do (
taskkill /f /pid %%a
ntsd -c q -p %%a
)
上面这个能自动查找RavMonDexe进程的PID,并通过2种方式结束此进程
很简单直接调用你配置的PID的这三个值对应的DB地址了,不过要注意,I和D是ms为单位,你在上位机调用这三个地址时,你要定义这两个数据为无符号32位数,然后在你建这变量时标定一下你这个变量,0对应线性值0,100对应1000000,就可以直接用了,那样你输100时,填进PID的时候就是1000000,不标定的话,你输进去100时,填进PID就太小了,你不可能在输入窗口填个1000000这种大的数值吧,标定一下,直接用。
这个只能找出子进程:
read -p "请输入一个进程号:" value
wym=`ps -ef|sed -e 's/[ \t][ \t]/|/g'|cut -d "|" -f "2-4"|grep "|${value}|"|cut -d "|" -f "1"`
echo "它的子进程:"
echo "$wym"
这个可以找出所有的后代进程:通过递归调用本身函数。
read -p "输入一个进程号:" p
function mj(){
pid=`ps -ef|sed 's/ /|/g'|cut -d "|" -f 2-3|grep "|$1$"`
for ppid in $pid;do
num=`echo "$ppid"|sed "s/|$1//g"`
echo "$num"
mj $num
done
}
mj $p
fork,source和exec运行脚本时的差异 使用 fork 方式运行 script 时, 就是让 shell(parent process) 产生一个 child process 去执行该 script, 当 child process 结束后, 会返回 parent process, 但 parent process 的环境是不会因 child process 的改变而改变的source 使用 source 方式运行 script 时, 就是让 script 在当前 process 内执行, 而不是产生一个 child process 来执行 由于所有执行结果均于当前 process 内完成, 若 script 的环境有所改变, 当然也会改变当前 process 环境了exec 使用 exec 方式运行script时, 它和 source 一样, 也是让 script 在当前process内执行, 但是 process 内的原代码剩下部分将被终止 同样, process 内的环境随script 改变而改变结论:通常如果我们执行时,都是默认为fork的。大家可以通过pstree命令看看关于父子进程的关系。如上,如果想让父进程得到子进程的环境变量,就是source方式了1sh的脚本[sql]#!/bin/bash A=B echo PID for 1sh before exec/source/fork:$$ export A echo 1sh: /$A is $A case $1 in exec) echo using exe exec /2sh ;; source) echo using source /2sh ;; ) echo using fork by default /2sh ;; esac echo PID for 1sh after exec/source/fork:$$ echo 1sh: /$A is $A 2sh的脚本[sql]#!/bin/bash echo PID for 2sh: $$ echo 2sh get /$A=$A from 1sh A=C export A echo 2sh: /$A is $A 3 实验31 fork[sql]
以上就是关于编写一个shell脚本程序.功能是输入一个数字,给出系统中以该数字为pid的进程详情,并输出到一个文件里全部的内容,包括:编写一个shell脚本程序.功能是输入一个数字,给出系统中以该数字为pid的进程详情,并输出到一个文件里、高手回答 弄个批处理 自动获取PID 结束进程、wincc怎么用c脚本写pid等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)