Как может я фон сценарий оболочки во время Запущения?

Мне нравится использовать KeePass, но он не поддерживает использование командной строки непосредственно. Это занимается спортом API, хотя, и некоторые другие попытались исправить проблему путем предоставления командной строки frontend использование что API. Все, которые вытягивают от потока форума

  1. Python frontend к API Keepass: python-keepass
  2. KPcli

Другое:

  1. Горилла пароля, записанная в tcl/tk, который, как предполагают, обработал использование командной строки на основе pwsafe.

Ни один из них не может использовать Ваш ssh ключ, вероятно, так как устройство хранения данных пароля не является действительно главным кандидатом на шифрование с открытым ключом (даже при том, что это, конечно, было бы удобно). С KeePass возможно использовать Ваш частный ssh файл ключей в качестве дополнительной криптографической связи вниз, но это больше для добавления сложности вместо того, чтобы уменьшить его.

6
05.06.2013, 17:23
3 ответа

Вместо фона сценарий, что, если Вы фон цикл с условием продолжения в сценарии как это:

while true
do
    COUNT="\$(rpm -qa | wc -l)"
    if [ \${COUNT} -ne \${PREV} ] ; then
        /bin/wget --post-data " ${Hostname} : Package count \${COUNT}" ${builddest}/log
        PREV=\${COUNT}
    fi
    sleep 15
done &

Заметьте, что я добавил амперсанд в конце done строка while цикл.

Ссылки

1
27.01.2020, 20:30
  • 1
    Спасибо за Ваше предложение, но у меня все еще нет радости (также попробовал некоторые изменения ( и ) создать подоболочку). Прочтение потока, на который Вы сослались, не похоже, что OP нашел решение любым дополнением :( –  bxm 19.06.2013, 11:37

Хм иногда запуск с"at now"делает задание для меня

в теперь возвращается immediatly - и запущенные выполнения процесса в фоновом режиме...

atd должен работать, конечно, :)

например,

/bin/echo "/custom/scripte/test.sh" | /usr/bin/at now
-1
27.01.2020, 20:30
[117176] Вы были очень близки к решению. Anaconda (инсталлятор) написана на Python, поэтому я пошел копаться в коде. [12246]В конце концов, он выполняет скрипт следующим образом:[12247]Немного больше копать, и вы можете найти iutil.execWithRedirect, определенный в 'iutil.py'. В конце концов, эта функция использует для выполнения команды подпроцесс.Popen (встроенный Python). Она также очень сильно пытается получить содержимое STDOUT и STDERR из скрипта %pre.[12248]Код выглядит следующим образом:[12249]Итак, с помощью того, что у Вас есть, Вы можете обойти вызовы proc.wait() и os.close, перейдя в фоновое состояние.[12250]proc_std и proc_err - это потоки, которые многократно вызывают [117858]readline[117859] на STDOUT и STDERR. Они продолжают считывание до тех пор, пока не произойдет EOF. Так как ваш скрипт наследует сокет STDOUT и STDERR от скрипта %pre, они никогда не столкнутся с EOF. Затем Ananconda зависает в ожидании выхода потока, читающего STDOUT (в строке 'proc_std.join()'), чего никогда не происходит.[12251]Это очень запутанная проблема, но, в конечном счете, очень простое исправление. Вместо:[12252]используйте[12253]Это гарантирует, что ваш скрипт не наследует STDOUT и STDERR, так что Anaconda не зависает и установка может продолжаться.[117193].
3
27.01.2020, 20:30

Теги

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