#cc c.c -o kill-spid
2.對產生的目標文件設置用戶的“s”權限。
#chmod u+s obj-name
3.將目標文件放置在執行用戶的任意目錄下,例如,tmp目錄。
4.執行文件“sybase-kill”應該存放在僅可以允許訪問該文件的目錄下,并設置其權限。例如,只允許Sybase用戶可以進行讀寫。
# mkdir /sybase/auto
#chmod 700 /sybase/atuo
#chmod g+t /sybase/atuo
#chown sybase:sybase /sybase/atuo
#cd /sybase/atuo
5.sybase-kill文件內容,具體如下。
trap ’’ 1 2 3 9 15 #設置屏蔽信號,目的是不允許中斷產生。
for pid in ` echo "set nocount on \n
select distinct blocked from master..sysprocesses
where blocked>0 \ngo"|isql -Uaaa -Paaaaaa -w200 -SFEBS|sed "1,2d" `
do
echo "Kill "$pid
isql -Usa -w200 -Sserv_name < < EOF
password123321
kill $pid
go
EOF
done
echo "ok"
上述內容會處理所有阻塞的進程,不管是否最終是由它引起的。當然,您也可以找出是誰引起的阻塞,然后再處理該進程,僅僅通過修改其“sybase-kill”文件內容即可完成。(
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/