Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- LANCEMENT_HEURE_DEBUT=15
- LANCEMENT_HEURE_FIN=16
- ARRET_HEURE_DEBUT=16
- ARRET_HEURE_FIN=17
- SCRIPT_NAME="pysoul/pysoul.py"
- SIGNAL_TO_KILL=1
- USERS=("benais_w" "desmar_s" "devaux_a" "ghanay" "lacroi_t" "nassim_a" "pillet_c" "seguin_s")
- SLEEP_TIME=1 # minutes
- function runScript(){
- local lUSER="${1}"
- local lSCRIPTNAME="python /home/${lUSER}/${SCRIPT_NAME}"
- if [ $(ps aux | grep -v grep | grep "${lSCRIPTNAME}" | grep "${lUSER}" | wc -l) -eq 0 ]; then
- echo "[+] launching script ${lSCRIPTNAME} with UID ${lUSER}"
- su "${lUSER}" -c "${lSCRIPTNAME} &> /dev/null &"
- else
- echo "[-] script ${lSCRIPTNAME} already launched with UID ${lUSER}"
- fi
- }
- function killScript(){
- local lUSER="${1}"
- local lSCRIPTNAME="/home/${lUSER}/${SCRIPT_NAME}"
- if [ $(ps aux | grep -v grep | grep "${lSCRIPTNAME}" | wc -l) -eq 0 ]; then
- echo "[-] script ${lSCRIPTNAME} not launched with UID ${lUSER}"
- else
- echo "[+] killing script ${lSCRIPTNAME} with UID ${USER}"
- local lPID=$(ps aux | grep -v grep | grep "${lUSER}" | grep "${lSCRIPTNAME}" | awk '{print $2}')
- kill -${SIGNAL_TO_KILL} ${lPID}
- fi
- }
- echo "[+] ${0} started with ${#USERS[@]} users to handle"
- IDX=0
- while [ true ]; do
- HEURE_COURANTE=$(date +'%H')
- if [ ${HEURE_COURANTE} -ge ${LANCEMENT_HEURE_DEBUT} -a ${HEURE_COURANTE} -le ${LANCEMENT_HEURE_FIN} ]; then
- runScript "${USERS[${IDX}]}"
- fi
- if [ ${HEURE_COURANTE} -ge ${ARRET_HEURE_DEBUT} -a ${HEURE_COURANTE} -le ${ARRET_HEURE_FIN} ]; then
- killScript "${USERS[${IDX}]}"
- fi
- echo "[+] sleeping ${SLEEP_TIME} minute(s)..."
- sleep $(( 60 * ${SLEEP_TIME} )) # 1 minute
- IDX=$(( ${IDX} + 1 ))
- if [ ${IDX} -ge ${#USERS[@]} ]; then
- IDX=0
- fi
- done
- exit 0
Add Comment
Please, Sign In to add comment