Обозначьте процесс и выполните что-то с помощью одной команды

Вероятно, было бы проще сделать только со сценарием, но мне интересно, почему я не могу сделать это с помощью одной команды. То, что я пробовал до сих пор:

$ (ls >/dev/null &) && echo $! 3135 $ (ls >/dev/null &) ; echo $! #bad idea, but if that worked, I could just add `sleep 0.1` 3135 $ ls >/dev/null & ; echo $! bash: syntax error near unexpected token `;' $ `ls >/dev/null &` && echo $! 3135 $ `ls >/dev/null &` ; echo $! 3135 

Число 3135 – это PID последнего фонового процесса, который содержит переменную $! , и он остается неизменным (также я использую Konsole и для успешного завершения процесса, он печатает что-то вроде [1] PID ) . Увы, ни одна из выполненных команд не отправляет процесс на задний план.

One Solution collect form web for “Обозначьте процесс и выполните что-то с помощью одной команды”

Это должно делать то, что вы хотите:

 $ ls > /dev/null & echo $! 

Поскольку вы форсировали фоновую команду в подпроцесс различными способами, первая оболочка не имела никакого фонового процесса и, следовательно, $! не обновлялся.

Теперь фоновый процесс запускается той же оболочкой, что и для выполнения echo $! так что теперь он делает то, что вы хотите.

  • Удаление процесса в фоновом режиме
  • Есть ли риск состояния гонки при запуске ps?
  • Фоновый процесс PID
  • ожидание и переработка ПИД
  • Выполните две команды параллельно, но только дождитесь завершения одной команды, прежде чем запускать следующую
  • Постоянное фоновое соединение ssh для создания обратного туннеля: что правильно?
  • что такое дескриптор файла моего терминала
  • Почему убийство процесса печатается в консоли
  • ssh "-f" не возвращает руку в bash при прослушивании stdout / stderr
  • Не удалось запустить процесс в фоновом режиме
  • Всякий раз, когда я набираю неправильную команду, мой терминал пытается запустить эту команду в фоновом режиме
  • Interesting Posts

    Перенаправить все вывод сценария bash (изнутри скрипта) в два файла: один append, one rewrite; но отбрасывать вывод на консоль

    Не удается найти Krita в меню «Пуск» (Linux Mint)

    Как отладить общественную долю smb не работает?

    Могу ли я ограничить пользователя (и их приложения) одним сетевым интерфейсом?

    Какой размер блока для KVM в Debian Linux оптимален с RAID 5?

    Найти средний процессор, vMem, использование sMem на 1, 5 и 15мин

    Размер экрана во FreeBSD в VirtualBox

    Как создать файл DEB вручную?

    Как использовать awk для отступов исходного файла на основе простых правил?

    Не удается установить cURL на Linux Mint

    Проблема Gmond в ганглиях

    Существуют ли какие-либо утилиты для быстрого добавления, списка и удаления псевдонимов команд?

    Изменения в файлах не отображаются до размонтирования раздела

    Сравните два файла и значения соответствия печати без игнорирования дубликатов

    nc -l в фоновом закрытии немедленно закрывается (nc -l 1234 &)

    Linux и Unix - лучшая ОС в мире.