Запуск скрипта с продолжением работы после закрытия терминала..

Запущенный обычным образом скрипт проработает ровно до тех пор, пока вы залогинены на консоль сервера. При отключении от сервера скрипт автоматически завершится.

Для запуска скрипта без связи с сессией пользователя следует использовать утилитуnohup:

В этом случае запущенный скрипт останется работать даже при отключении от сервера, но весь выводимый скриптом текст будет записываться в файл nohup.log, создаваемый в текущем каталоге, о чем nohup непосредственно и информирует сообщением nohup: appending output to nohup.out. При этом данный файл будет создан даже в том случае, если у скрипта никогда не будет никакого вывода.

Генерируем случайные файлы в консоли Linux

Быстрый доступ к основным командам в Linux

Я человек ленивый. А потому часто используя одни и те-же команды в консоли Linux, сделал себе диалоговое окошко с меню, отображаемое при помощи bash, которое помогает мне сократить время на вспоминание что где когда и зачем. А помогла мне в этом утилита dialog.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/bin/sh
DIALOG=${DIALOG=dialog}
tempfile=`mktemp 2>/dev/null` || tempfile=/tmp/test$$
trap "rm -f $tempfile" 0 1 2 5 15
 
$DIALOG --clear --title "Выбор терминала для работы" \
        --menu "Выберите терминал:" 40 51 40 \
        "This"  "Остаться дома" \
        "Chaos"  "billing.wedwedq.ru" \
        "Athena"  "billing.yefwerfe.ru" \
        "Ares"  "billing.wefdwe.tv" \
"---------" "------"\
        "Eros" "Сервер доступа Шексна,Хохлово(Ш)" \
        "Helios" "Сервер доступа Чагода (Ш)" \
        "Nike" "Сервер доступа Кадуй (Ш)" \
        "Artemis" "Сервер доступа Лоста (Ш)" \
        "Poseidon" "Сервер доступа Вытегра (Ш)"  2> $tempfile
 
retval=$?
 
choice=`cat $tempfile`
 
case $retval in
  0)
    if [ $choice = "This" ]; then
     clear
     exit
    fi
 
    if [ $choice = "Ares" ]; then
     ssh billing.qwefqwe.tv -l логин
    fi
 
    if [ $choice = "Helios" ]; then
     ssh 121.237.158.1 -l логин
    fi
 
    if [ $choice = "Nike" ]; then
     ssh 127.27.138.1 -l логин
    fi
 
    if [ $choice = "Artemis" ]; then
     ssh 122.144.337.120 -l логин
    fi;;
  1)
    echo "Отказ от ввода.";;
  255)
    echo "Нажата клавиша ESC.";;