| xianren 回复于:2003-04-14 15:23:48 |
| clear
echo "\033[08;15H请输入需处理的终端号:" echo "\033[08;37H[ ]\b\b\b\b\b\c" echo "\033[08;38H\c" read pidn echo "\033[12;11H是否真的要杀掉$pidn终端的所有进程?[Y/N]___\b\b\c" read yn case $yn in Y|y) for i in `ps -t $pidn |awk '{print $1}'|grep -v PID |sed -e '1!G;h;$!d'` do kill -9 $i 2>/dev/null done echo "\033[18;30H处理完毕!\c" sleep 5 ;; *) ;; esac |
| sd-feng 回复于:2003-04-14 17:27:54 |
| 不错 |
| sdclearcase/" target="_blank" >ccf 回复于:2003-04-14 23:04:11 |
| echo -n "输入终端号:"
read zdh ps -t $zdh|awk ’{print "kill -9 " $1}’>kill_pid TMP=/tmp/tmpfile_$$ sed -e ’s/kill -9 PID/ /g’ < kill_pid > $TMP mv $TMP kill_pid sh kill_pid |
| qtyz 回复于:2003-04-15 20:30:38 |
| kill -9 `ps -t $ab|grep -v "PID"|sort -r|awk '{print $1}'` 即可! |
| xianren 回复于:2003-04-15 20:33:06 |
| 关键是:
能让他按从大到小的方式自动杀死进程! |
| qtyz 回复于:2003-04-15 20:37:59 |
| 杀进程用 ‘kill -9’并不一定好,最好先用‘kill -15'之类的用一下,如杀死不了再用‘kill -9’; |
| xianren 回复于:2003-04-15 20:39:31 |
| 一般来说,用-15 之类,效果几乎为零! |
| htldm 回复于:2003-04-16 01:01:43 |
| 费了半天劲,想到一个简单的方法:
[code:1:cf00cb3531] echo -n "输入终端号:" read zdh set - `ps -t $zdh|grep -v "PID"|sort -r` while [ $# -gt 0 ] do kill -9 $1 shift 4 done [/code:1:cf00cb3531] |
| sdccf 回复于:2003-04-16 05:39:14 |
| 好啊,今天试一下。 |
| xianren 回复于:2003-04-16 13:47:36 |
| 进程号大不等于是后启进程,进程号是循环使用的,ps 查出的,一般下面的为上面的子进程,从防止出现孤儿进程角度说,我还是一为我给的shell是最恰当的。 |
| liuy2175 回复于:2003-04-16 18:01:25 |
| 谢谢大家!
我已找到方法用sort -r 代替sort。 |
| handry 回复于:2003-04-18 16:38:34 |
| echo -n "输入终端号:"
read zdh ps -t $zdh|awk ’{print "kill -9 " $1}’>kill_pid TMP=/tmp/tmpfile_$$ sed -e ’s/kill -9 PID/ /g’ < kill_pid > $TMP mv $TMP kill_pid sh kill_pid 以上这些代码只能是root用户可以用,请问各位大侠,怎么才能让普通用户具有 使用“输入终端号自动杀死进程的权限呢?” |
| geekchi 回复于:2003-04-21 12:27:28 |
| 让普通用户具有
使用“输入终端号自动杀死进程的权限呢” 用 asroot 命令 |
| handry 回复于:2003-04-21 16:16:30 |
| [quote:337481cb11="geekchi"]让普通用户具有
使用“输入终端号自动杀死进程的权限呢” 用 asroot 命令[/quote:337481cb11] 楼上的大侠,对于unix我不懂,你能给我说明白点吗?asroot怎么用,怎么写这段代码,普通用户才能用呢? |
| tongguo 回复于:2005-06-01 09:11:04 |
| 查看进程
# fuser /dev/ttyp201 杀死进程 # fuser -k /dev/ttyp201 在sco5.05上就有这个命令,很好用,就不要自已写什么c或shell了 |
| 12xuwei 回复于:2005-06-01 09:45:20 |
| [quote:201f812b3c="geekchi"]让普通用户具有
使用“输入终端号自动杀死进程的权限呢” 用 asroot 命令[/quote:201f812b3c] 楼上的能说明白一点吗,小弟一直想让普通用户能有杀终端的权限 |
| by_cj 回复于:2005-06-01 16:38:17 |
| [quote:83f4748215="htldm"][/quote:83f4748215]
刚试了一下,这个办法很好用,谢谢!但能不能不用输入终端号,自动清除所有终端的进程呀?? |
| sdccf 回复于:2005-06-01 17:37:35 |
| 那kill -9 -1就是了. |
| 光明晓仙 回复于:2005-06-01 23:10:47 |
| getpid() {
clear echo "此功能用于终止终端的进程,只要输入相应的端口" echo "请输入终端名: \c" read pp case $pp in tty01|tty02|tty03|tty04|tty05|tty06|tty07|tty08|tty09|tty10);; tty23a|tty23b|tty23c|tty23d);; *) echo "\007\007\007错误的端口名,请重新输入....\c" read hc return ;; esac for i in `ps -a |grep "$pp" |awk ' { print $1 }'` do clear kill -9 $i done } |