Я работающий для улучшения мою среду программирования и теперь у меня должен быть вывод нескольких команд (coffeescript/sass компиляция и модульные тесты) в одной консоли. Это может быть, достигают конкатенирующих команд с &
:
karma start & coffee -o js/app -cw coffee/ & sass --watch sass/:css/
но когда я хотел бы закончить работу и закрыть их и нажатие ctrl+c
они будут все еще работать в фоне, и я должен уничтожить каждого из них вручную. Как я могу зафиксировать это и иметь способность закрыть все те команды сразу?
В настоящее время я могу только думать о создании задачи пехотинца, которая выполнит несколько команд, но использующий пехотинца, кажется, излишество для такой задачи. Есть ли более легкие/альтернативные пути?
(Примечание: можно только Отобразить одну программу/задачу сразу. Кроме того, некоторые программы как apt-get
не работайте правильно этот путь.)
Во-первых, добавьте &
символ в конец строки, таким образом, строка похожа на это:
karma start & coffee -o js/app -cw coffee/ & sass --watch sass/:css/ &
Это помещает последнюю программу в фоновом режиме также.
Затем введите jobs
перечислять программы. У Вас затем будет вывод, который несколько напоминает это:
karma start [1]
coffee -o js/app -cw coffee/ [2]
sass --watch sass/:css/ [3]
Для подачи программы к переднему плану ввести fg
сопровождаемый количеством программы. Например, для обеспечения karma start
к переднему плану ввести fg 1
. Для откладывания его в фоновом режиме нажмите Ctrl+Z. Повторитесь как требуется.
Просто уничтожьте терминал... Это уничтожит все команды, которые это выполняет, если Вы не принимаете специальные меры предосторожности как dtach
...
&
не связывает команды. Это запускается один за другим в фоновом режиме. Если не необходимо запустить команды в фоновом режиме, просто используйте ;
вместо &
.
Использовать job
для списка команды у Вас будет что-то вроде этого
karma start [1]
coffee -o js/app -cw coffee/ [2]
Использовать fg 1
или fg 2
возвращать задания на переднем плане.