通用的停止程序bash指令碼

2021-06-08 11:45:32 字數 800 閱讀 6019

#!/bin/sh

# # 通用的停止指定名的程序

# 特色:

# 1. 只會停止當前使用者名稱下的程序

# 2. 可以指定命令列引數,可執行精準停止

# 檢查引數

# 引數1:需要停止的程序名或它的完整命令列或部分命令列

if test $# -ne 1; then

printf "\033[1;33musage: $0 process_cmdline\033[m\n"

exit 1

fiprocess_cmdline=$1    # 程序名或程序執行命令列

cur_user=`whoami`     # 當前使用者

uid=`id -u $cur_user` # 使用者id

# 取得程序名

process_name=$(basename `echo "$process_cmdline"|cut -d" " -f1`)

# 得到程序的id列表

pid_set=`ps -c "$process_name" h -o euser,pid,args|awk '' uid=$uid cur_user=$cur_user process_cmdline="$process_cmdline"`

# 迴圈kill掉所有的程序

for pid in $pid_set

do#echo $pid;exit; # 測試用

kill $pid     # 先發sigterm訊號

sleep 2       # 過2秒再發sigkill訊號

kill -9 $pid

done

解決Mysql鎖表程序Bash指令碼

資料庫偶爾會響應很慢,看著好像掛掉了,檢查程序發現有大量查詢語句把錶鎖住了,提供乙個指令碼給大家解決鎖表導致的mysql異常。bin sh while don usr local webserver mysql bin mysql uroot p kk41 dnkkedkd8 ee e show p...

Bash指令碼中的set命令

伺服器的開發和管理離不開 bash 指令碼,掌握它需要學習大量的細節。set命令是 bash 指令碼的重要環節,卻常常被忽視,導致指令碼的安全性和可維護性出問題。本文介紹它的基本用法,讓你可以更安心地使用 bash 指令碼。我們知道,bash 執行指令碼的時候,會建立乙個新的 shell。bash ...

bash指令碼執行的控制語句

一 bash指令碼執行的控制語句 1 順序執行 預設,逐條執行各語句。2 選擇執行if 分支,條件判斷,執行符合條件的分支。2 雙分支 fi 3 多分支 4 例1 寫乙個指令碼,實現如下功能 1 讓使用者通過鍵盤輸入乙個使用者名稱 2 如果使用者存在,就顯示其使用者名稱和uid 3 否則,就顯示使用...