скрипт не уходит в фон

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

Сценарий довольно прост и находится в моей корзине $ USER.

#!/bin/bash
LeapControlPanel &
sudo leapd &

enter image description here

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

1
задан 29 December 2016 в 06:33

2 ответа

Это сделало возврат Вы к подсказке - это находится на второй строке Вашего снимка экрана. Сообщения об ошибках просто испортили дисплей. Попытайтесь ввести команду, Вы будете видеть, что она работает. Или тип Входит для получения новой подсказки.

0
ответ дан 29 December 2016 в 06:33
  • 1
    Верный:). Вы поощрили меня пробовать. К сожалению, я получаю эту ошибку: ~./CUPS-Cloud-Print$/настр, проверяя на BSD-совместимую установку.../usr/bin/install-c проверяющий на конфигурацию чашек... отсутствующую, настройте: ошибка: не может найти конфигурацию чашек – ijonfryderyk 22 October 2018 в 04:48

Сценарий перешел к фону и возвратил Вашу подсказку. Проблема состоит в том, что Вы не перенаправляете ее вывод нигде, так, чтобы все еще появился в Вашем терминале. Отправка команды к фону просто означает, что это продолжит работать, и можно сделать другие вещи в родительской оболочке. Однако, так как команда работает, ее вывод (и stdout и stderr) все еще подключены к Вашему текущему терминалу, и вот почему Вы все еще видите их.

Так, для отправки команды в фон и скрывают его вывод, Вам нужно:

  1. Перенаправление stdout только так, чтобы любые сообщения об ошибках были все еще распечатаны к терминалу:

    ./leap > leap.log &
    
  2. Перенаправление stderr только так, чтобы произведенный, но не ошибки все еще появился на терминале:

    ./leap 2> leap.log &
    
  3. Перенаправление оба так, чтобы ничто не было распечатано к терминалу:

    ./leap > leap.log 2>&1 &
    

    Или (если Ваша оболочка поддержки это)

    ./leap &> leap.log &
    

Во всех примерах, для отбрасывания вывода вместо того, чтобы сохранить в файл, использование /dev/null вместо leap.log.

0
ответ дан 29 December 2016 в 06:33
  • 1
    Да, it' s староватый (~4yo), но работы. Не все должно быть обновлено все время. Современные оптические инструменты хирургии являются not' t существенно отличающийся от тех используемых римлянами приблизительно 2 000 лет назад. – GabrielaGarcia 22 October 2018 в 01:28

Другие вопросы по тегам:

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