Отправьте строку в терминальную программу

На Солярисе можно установить этот параметр, чтобы быть жестким или мягким пределом в масштабе всей системы, ИЛИ можно сделать то же для определенного приложения так, чтобы это имело корректное количество открытых дескрипторов файлов в его пространстве во время выполнения.

Сделать это изменением в масштабе всей системы, редактированием /etc/system со следующими записями

# Hard limit on file descriptors for single process
set rlim_fd_max = 4096

# Soft limit on the file descriptors for a single process
set rlim_fd_cur = 1024

Примечание: без установки rlim_fd_max как показано выше, значение по умолчанию для дескрипторов файлов или nofiles половина rlim_fd_cur значение. Так, лучше устанавливать их обоих.

При использовании проекта Соляриса для пространства приложения как База данных Oracle можно установить макс. дескрипторы файлов в проекте:

projadd -U oracle -K “process.max-file-descriptor=(priv,4096,deny)” user.oracle

Кроме того, можно установить его использование ulimit непосредственно в оболочке владельца приложения запускают файл. Например, возможно установить макс. дескрипторы файлов путем установки ulimit в .profile из владельца веб-сервера к ulimit -s 32768 и вызов этого из сценария запуска/завершения работы.

Поскольку Вы видите, что существует много опций и способов сделать это.

2
задан 26 August 2009 в 19:05
2 ответа

Можно использовать expect программа.

Вот сценарий в качестве примера:

spawn /path/to/program/Dynamips
expect -- "->"
send "start R1\r"
expect -- "->" {
  sleep 5
  send "start R2\r"
}
expect eof

Можно вызвать это с:

expect scriptname
3
ответ дан 3 December 2019 в 10:28
  • 1
    Важное примечание TCL: комментарии являются элементами языка первого класса. Так Вы can' t просто комментируют любую случайную строку кода! Если Вы don' t знают, что это, имея дело с TCL является очень расстраивающим опытом. –  Michael Kohne 26 August 2009 в 20:22

Ожидайте также доступно как модуль Perl, если Вы более удобны в Perl, чем TCL.

Простой отрывок с помощью Perl Ожидает, что модуль мог бы быть похожим на это:

my $bob = Expect->new("bob_program");
$bob->expect(1, "Hullo!");
$bob->send("Hi!\r");
$bob->expect(1, "Bye!");
$bob->send("Later!\r");
$bob->soft_close();

Я работал и с expect/TCL и с жемчугом, и я должен сказать, что предпочитаю Perl. Если Вы уже не знаете это, TCL является довольно раздражающим для взятия.

1
ответ дан 3 December 2019 в 10:28

Теги

Похожие вопросы