#! /bin/bash # test kill -9 PROCESSES=4 function close() { ipcrm -a ps -ef | grep "heart_beat" | awk '{print $2}' | xargs -i kill -9 {} } function start_server() { ./heart_beat server 101 & server_pid=$! echo "start server pid ${server_pid}" } function start_clients() { for (( i=0; i<$PROCESSES; i++ )) do # pid_arr[$i]=$i ./heart_beat client 101 & pid_arr[$i]=$! echo "start ${pid_arr[$i]}" done } function close_clients() { for (( i=0; i<$PROCESSES; i++ )) do echo "kill ${pid_arr[$i]}" kill -9 ${pid_arr[$i]} #./heart_beat client 101 & ${pid_arr[$i]}=$! done } case ${1} in "server") start_server ;; "clients") start_clients sleep 5 close_clients ;; "close") close ;; "test2") start_server sleep 1 start_clients sleep 5 kill -15 server_pid sleep 2 close_clients ;; "") start_server sleep 1 start_clients sleep 5 close_clients ;; *) echo "error input" exit 1 ;; esac