Это пустая команда, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
empty - запускать процессы в псевдотерминальных сессиях
СИНТАКСИС
пустой -f [-i fifo1 -o fifo2] [-p file.pid] [-L file.log] команда [аргументы команды]
пустой -w [-Sv] [-tn] [-i fifo2 -o fifo1] ключ1 [ответ1] ... [ключX ответX]
пустой -s [-Sc] -o fifo1 [запрос]
пустой -r [-b размер] [-tn] [-i fifo2]
пустой -l
пустой -k [pid] [сигнал]
пустой -h
ОПИСАНИЕ
пустой это утилита, которая предоставляет простой интерфейс для выполнения и / или взаимодействия с
процессы в псевдотерминальных сессиях. Этот инструмент определенно полезен при программировании
сценарии оболочки, которые используются для взаимодействия с интерактивными программами, такими как telnet или ftp.
В некоторых случаях пустой может быть заменой TCL / expect или другого подобного программирования
инструментов.
Есть несколько распространенных форм командных строк для пустой. Но первая казнь
пустой обычно в режиме демона запускает вилка новое команду (процесс) под PTY-
сеанс. Это можно сделать с помощью -f ключ. Интерфейс для ввода и вывода данных
каналы разветвленного процесса выполняются двумя FIFO файлами, имена которых можно указывать
-i и -o ключи. Эти файлы автоматически создаются / удаляются при каждом запуске / выходе.
пустой демон, поэтому вы не должны создавать их вручную. Если вы не указали эти фифо
файлы в командной строке, пустой называет их само по себе на основе PID и PID разветвленного
Процесс PTY.
На этом этапе любое приложение может легко взаимодействовать с разветвленным процессом, записывая данные
на вход FIFO и чтение ответов с выходного FIFO, см. ПРИМЕРЫ раздел для
Детали. Чтобы упростить эту операцию, пустой предлагает интерфейс, чтобы просто Отправить любые данные (используйте
-s ключ), или даже смотреть выходной FIFO для нескольких ключевые слова и ответьте на ввод
FIFO с одним из ответы (См. -w ключ).
Важно! Введите fifo для пустой -f ... обычно это выходной файл для пустой -w и пустой -s
формы. И выведите фифо из пустой -f ... это входной фифо для пустой -w ...
Если что-то пойдет не так, разветвленный процесс может быть убитый стандартной командой kill, или
через -k ключ пустой. Увидеть -p возможность сохранить PID пустого процесса-демона.
Доступны следующие параметры:
-f вилка, порождение, запуск или выполнение нового процесса, указанного в команду и ее
аргументы. Если вы опустите файлы FIFO, пустой с его алгоритмом управления работой будет
создать их под / Tmp каталог с использованием следующих шаблонов: empty.PPID.PID.in и
empty.PPID.PID.out, здесь PPID - это обычно идентификатор и PID процесса вашей оболочки.
- это идентификатор системного процесса для empty-daemon.
-s отправить данные (запрос) разветвленному процессу. Если файл fifo не был указан с
-o ключ, пустой попытается найти автоматически созданный файл fifo в / Tmp
каталог. Вместо командной строки вы можете отправить свой запросить или данные напрямую
на стандартный ввод (stdin) пустой
-w смотреть для одного или нескольких ключевые слова и если указано, отправить соответствующий
ответ ко входу fifo. Если ответ не установлен, пустой ждет
правильный ключевая фраза затем уходит. С участием -w ключ пустой возвращает количество совпавших
пара ключевая фраза-ответ, или 255, если не удается найти это совпадение (см. ключ -t для
детали возможного выхода по таймауту).
-r читать из выходного FIFO одну строку (по умолчанию) или один блок данных (если -b размер законопроект
указано). Если -t n ключ был помещен, выход по таймауту.
-l список автоматически создаваемых вашей оболочкой заданий. NB! Ваши индивидуальные работы, которые
файлы fifo, которые вы указали с помощью -i и -o ключи, не отображаются. Итак, если вы это сделали
не указывать файлы FIFO с -i и -o все операции выполняются под
работа отмечена текущий
-k отправить сигнал к процессу с пид. Если вы не указали pid, пустой пытается
чтобы найти его в списке автоматически созданных вакансий. Если сигнал опущено
используется SIGTERM по умолчанию.
-h распечатать короткое справочное сообщение и выйти
-i fifo1 файл fifo, который используется в качестве входных данных для разветвленного процесса.
-o fifo2 файл fifo, который используется в качестве вывода для разветвленного процесса.
-L file.log Эта опция позволяет регистрировать все пустой сеанс в файл. Знаки >>> и <<
показать направления потока данных.
--logfile-mode = режим
Эта опция позволяет выбрать режим файла журнала, созданного с помощью -L
вариант. Режим по умолчанию - 0600.
-p file.pid Сохранить PID пустого процесса демона в файл
-tn Если входной FIFO пуст, подождите n секунд (по умолчанию 10), чтобы получить
ключевая фраза затем выйдите по таймауту с кодом 255.
-c сила пустой использовать стандартный ввод для данных или запросов.
-S Удалить последний символ из ввода. Работает с ключами -s и -w
-v подробный режим квази. Показать все содержимое полученного буфера.
ПРИМЕРЫ
Запустите новый сеанс PTY с telnet на localhost:
пустой -f -i in.fifo -o out.fifo -p empty.pid -L empty.log telnet localhost
Взаимодействовать с телнетом:
пустой -w -i out.fifo -o in.fifo ogin 'мой_пользователь \ n'
пустой -w -i out.fifo -o in.fifo assword 'мой_пароль \ n'
Отправлять команды в telnet с пустым:
пустой -s -o in.fifo кто
пустой -s -o in.fifo "ls -la / \ n"
То же самое с использованием STDIN:
эхо кто | пустой -s -o in.fifo
echo "ls -la /" | пустой -s -o in.fifo
Просто вывод кошки из telnet:
кошка out.fifo
Прочтите одну строку из out.fifo:
пустой -r -i out.fifo
Отправляйте команды в telnet с обычным эхом:
echo "кто я"> in.fifo
echo "uname -a"> in.fifo
Убить процесс с PID 1234:
пустой -k 1234
or
убить 1234
Сеанс Telnet с автоматически созданными заданиями:
пустой -f telnet localhost
Взаимодействие с telnet с помощью управления заданиями:
пустой -w ogin 'мой_пользователь \ n'
пустой -w assword 'мой_пароль \ n'
Список автоматически создаваемых вакансий:
пустой -l
ИМЯ ФАЙЛА ТИПА PID PPID
479 706 в /tmp/empty.479.706.in
479 из /tmp/empty.706.out
479 711 в /tmp/empty.479.711.in
479 из /tmp/empty.711.out
479 711 ток
БЕЗОПАСНОСТЬ
Считается небезопасным отправлять пароль в командной строке следующим образом:
пустой -w assword 'мой_пароль \ n'
или вот так:
пустой -s 'мой_пароль \ п'
Причина в том, что аргументы командной строки видны системе, пока пустой is
Бег. Их может увидеть любой локальный пользователь с помощью ps(1), иногда они видны даже удаленно
палец(1). Также ваш сервер может иметь некоторые инструменты мониторинга, которые могут хранить
Вывод из ps(1) в своих журналах. Есть и другие, более сложные способы компромисса.
эта информация. Как правило, вы должны принимать аргументы командной строки как (возможно) видимые
каждому, если вы действительно не знаете, что делаете.
пустой с флагом '-s' в большинстве случаев работает быстро, но все же может зависать в течение нескольких
причины (например, перегрузка FIFO), и даже если он работает быстро, вы все равно не можете быть уверены, что
никто не увидит его аргументы командной строки даже в это короткое время. пустой с флагом '-w'
еще хуже, потому что он должен ждать ключевую фразу.
Лучший способ отправить пароль контролируемой программе - прочитать его из файла:
пусто -s [общие параметры] <./ файл-паролей
или из трубы:
get-password-of-user "$ user" | пусто -s [общие параметры]
Вы все равно должны убедиться, что вы не отправляете пароль через командную строку, пока
создавая этот файл, и, конечно же, вы должны установить некоторые безопасные разрешения для этого файла И
его каталог (с родительскими каталогами) перед чтением пароля из файла ИЛИ
записав к нему пароль.
Другой возможный способ - использовать встроенную оболочку (но см. Ниже):
echo "$ пароль" | пусто -s [общие параметры]
Многие снаряды любят колотить(1) CSH(1) и FreeBSD sh(1) не звоните на внешние эхо(1) команда
но использовать собственную встроенную команду echo. Поскольку никакая внешняя команда не запускается (оболочка
сам делает все это эхо(1) должен делать), в списке процессов ничего не отображается. Это за гранью
на этой странице руководства, чтобы обсудить, как убедиться, что ваша оболочка использует встроенную команду.
ВЕРНУТЬ ЦЕННОСТИ:
Если возникнет какая-либо ошибка пустой обычно завершается с кодом 255. В противном случае ноль или некоторое положительное значение
значение (см. -w ключ) возвращается.
Использовать пустой онлайн с помощью сервисов onworks.net