# L5. Bash Scripting. Part 5 ## Linux signals | Num | Name | Job | | --- | ------- |:------------------------------------------------------------------------------:| | 1 | SIGHUP | Закрытие терминала | | 2 | SIGINT | Сигнал остановки процесса пользователем с терминала (CTRL + C) | | 3 | SIGQUIT | Сигнал остановки процесса пользователем с терминала (CTRL + \) с дампом памяти | | 9 | SIGKILL | Безусловное завершение процесса | | 15 | SIGTERM | Сигнал запроса завершения процесса | | 17 | SIGSTOP | Принудительная приостановка выполнения процесса, но не завершение его работы | | 18 | SIGSTP | Приостановка процесса с терминала (CTRL + Z), но не завершение работы | | 19 | SIGCONT | Продолжение выполнения ранее остановленного процесс | ```bash= kill processID ``` --- ## Running Linux Bash scripts in background mode ```bash= #!/bin/bash total=1 while [ $total -le 3 ]; do sleep 2 total=$(($total + 1)) done ``` ```bash= $ ./myscipt & jobs bg fg 1 ``` --- ## Functions ```bash= functionName() { } ``` ```bash= #!/bin/bash myfunc() { echo "Using functions" } total=1 while [ $total -le 3 ]; do myfunc total=$(($total + 1)) done echo "Loop finished" myfunc echo "End of the script" ``` #### return command ```bash= #!/bin/bash myfunc() { read -p "Enter a value: " value echo "adding value" return $(($value + 10)) } myfunc echo "The new value is $?" ``` #### Function output ```bash= #!/bin/bash myfunc() { read -p "Enter a value: " value echo $(($value + 10)) } result=$(myfunc) echo "The value is $result" ``` --- ## Variables * Global * Local #### Global ```bash= #!/bin/bash myfunc() { input=$(($input + 10)) } read -p "Enter a number: " input myfunc echo "The new value is: $input" ``` #### Local ```bash= #!/bin/bash myfunc() { local tmp=$(($val + 10)) echo "The Temp from inside function is $tmp" } tmp=4 myfunc echo "The temp from outside is $tmp" ```