Раньше у меня был сценарий (в далеком прошлом), который позволял мне выполнять НИЧЕГО в терминале и магическим образом открещивался и работал в фоновом режиме при выводе любого вывода в ноль. Возможно, даже nohup'd ... Я не помню. Он находился в / usr / local / bin или / usr / bin / и назывался 'ds' (я знаю, что имя не имеет к этому никакого отношения, но я думаю, что некоторые из вас, возможно, сделали то же самое как я делал в тот день).
В основном, чтобы выполнить команду полностью в фоновом режиме и не связывать окно терминала, я просто набрал бы:
ds command
или
ds sudo command
Я не вспомните, где я его нашел и не создал ли я его сам. Это было довольно гениально, так что, думаю, я нашел это в другом месте. :)
Может ли кто-нибудь помочь снова создать такой скрипт?
TIA!
Я не уверен, что Вы настроили прежде, но можно произвести stderr
и stdout
кому: /dev/null
, и disown
процесс:
command > /dev/null 2>&1 & disown
$ tail -f /var/log/messages > /dev/null 2>&1 & disown
[1] 12345
$
Не путать &
и &&
здесь. &
выполняет команду в фоновом режиме, в то время как disown
'de-пары' фон от терминального процесса немного. Можно настроить сценарий Bash, функцию, или исказить для обертывания команд во что-то подобное.
Боже мой! Я нашел именно то, что искал на одном из моих * nix-компьютеров, и скопировал его на тот, который действительно в этом нуждается. Расположен в "/ usr / local / bin / ds"
Вот копия сценария на тот случай, если кому-то понравится:
#!/bin/sh
if test -t 1; then
exec 1>/dev/null
fi
if test -t 2; then
exec 2>/dev/null
fi
"$@" &
Теперь, когда я посмотрю на него, я Я не совсем уверен, что это отрекается от процесса, так как кажется, что он просто выполняет команду как фоновый процесс. Мысли?