Как Вы запускаете команду экрана Unix с команды?

Мы реализовали функцию переопределения onFailure с различными параметрами и работали как шарм.

Заменить этот код

override fun onFailure(statusCode: Int, headers: Array<out Header>?, responseString: String?, throwable: Throwable?) {

            super.onFailure(statusCode, headers, responseString, throwable)

        }

на этот

override fun onFailure(statusCode: Int, headers: Array<out Header>?, responseString: String?, throwable: Throwable?) {

                super.onFailure(statusCode, headers, responseString, throwable)

            }

Мы обнаружили это, пройдя ошибки logcat этого приложения, которые ожидали реализации второй функции. [ 116]

25
задан Drew Stephens 2 November 2010 в 22:04
поделиться

5 ответов

Ваша программа запускается (хорошо, кроме CD), это просто, что это выполняется без родительской оболочки, поэтому как только это завершается, это выходит, и Вы сделаны.

Вы могли сделать:

screen -t "autotest" 2 bash -c 'cd ~/project/contactdb ; autotest'

Икра две оболочки, но жизнь, вероятно, продолжатся.

21
ответ дан chaos 28 November 2019 в 20:43
поделиться

Это могло бы помочь, но не может быть полностью, что Вы хотите.

Помещенный "азимут зомби" или "defzombie азимут" как первая строка Вашего .screenrc. "азимут" может быть любыми 2 ключами, которые Вы хотели бы. Теперь, когда экран должен закрыться (команда закончила выполняться, например), это на самом деле не закроется; удар желания закрывается, он, совершая нападки 'z' повторно выполнит команду, присоединенную к тому экрану.

я нашел это в экранное руководство пользователя .

7
ответ дан Otis 28 November 2019 в 20:43
поделиться

Вот то, как шахта смотрит. Это, кажется, хорошо работает. Я думаю, что или круглая скобка могла бы вызывать проблему или экран, не откроет окно, если команда "автотест" не будет существовать.

screen -t zsh 1
screen -t emacs 2 emacs -nw
screen -t mutt 3 mutt
monitor on
screen -t mc 4 mc -s
screen -t elinks 4 elinks
4
ответ дан 28 November 2019 в 20:43
поделиться

Вы также можете «вставить» символы на экран, как если бы вы их набрали.

Вот как вы можете сделать это в своем примере:


screen -t "shell_0"  1

# create the following screen in the desired dir, instead of cd-ing afterwards :)
chdir ~/project/contactdb
screen -t "autotest" 2

# (without this sometimes screens fail to start correctly for me)
sleep 5

# paste some text into screen number 2:
select 2
stuff "autotest\012"
5
ответ дан 28 November 2019 в 20:43
поделиться

Попробуйте следующее:

$ screen -S 'tailf messages' -d -m tailf /var/log/messages

Затем вы можете сделать следующее:

$ screen -ls
1234.tailf messages

Затем:

$screen -r 1234
16
ответ дан 28 November 2019 в 20:43
поделиться