Вы упоминаете, что вам неудобно компилировать и устанавливать драйвер, но, к сожалению, вы не можете сделать это без этого. К счастью, из-за боли, которую я пережил лично, я сделал это как можно проще для вас. Я исправил проблемы компиляции 13.04 с драйвером RTL8188CE и поместил подробные инструкции для установки на моем Git Hub .
Эта версия исправляет ошибку компиляции, а также фиксирует жестко закодированное значение мощности передачи, которое было установлено на 22 дБм.
Сначала установите Git и соберите зависимости:
sudo apt-get install git
apt-get install gcc build-essential linux-headers-generic linux-headers-`uname -r`
Затем клонируйте репо. Мне нравится делать каталог в моей домашней папке и помещать его туда:
cd ~
mkdir gitclone && cd gitclone
git clone https://github.com/FreedomBen/rtl8188ce-linux-driver/blob/master/README.md
cd rtl8188ce-linux-driver
Затем следуйте инструкциям в README.md
РЕДАКТИРОВАТЬ: 22-Jan-2015
[1113 ] Теперь стало еще проще. Установите git:
sudo apt-get install git
и выполните эту команду
git clone https://github.com/FreedomBen/rtl8188ce-linux-driver.git && cd rtl8188ce-linux-driver && ./install.sh`
Вместо:
cmd options;
Добавьте до nohup
:
nohup cmd options &
Затем вы сможете увидеть стандартный вывод консоли:
tail -f nohup.out
Хотя все говорят, что нужно использовать disown
(единственный вариант, который у вас есть после того, как вы уже запустили процесс), nohup
или даже запустить команду в screen
, что полезно, если вы хотите увидеть все выходные данные из команды ... Я фанат screen
.. Я до сих пор пробовал самые последние распространенные дистрибутивы Linux, и просто перевод задания в фоновый режим и выход из него не приводят к смерти всех запущенных процессов. Там должно быть глобальное урегулирование или что-то. Я пытаюсь сделать это на некоторых довольно старых системах (slackware 12), и мой тестовый скрипт продолжает работать, пока я не убью его вручную:
shell$ cat > test.pl
#!/usr/bin/perl
while(1){
sleep(1);
}
shell$ perl ./test.pl &
shell$ exit
logout
shell$ ps aux test.pl
mymom 31337 1 0 13:25 ? 00:00:00 perl ./test.pl
shell$
Хотя я согласен с тем, что screen
будет лучшим способом запустить это , даже если мой сценарий написал для файлов журнала или чего-то еще .. Мне никогда не нужно было использовать disown -a
или nohup
, если это не было полной паранойей. Может быть, кто-то может пролить свет на поведение bash по умолчанию? Может быть, некоторые системные администраторы изменяют настройки по умолчанию для больших оболочек, чтобы процессы своих пользователей не перегружали систему?
Простейший ответ ...
Ctrl + Z приостановит запущенную программу
«bg» запустит ее в фоновом режиме
disown
или nohup
) это обычно не будет поддерживать процесс после завершения сеанса SSH.
– Mike
26.10.2019, 21:09
Вы должны проверить Экран GNU и посмотреть, поможет ли он вам. В зависимости от того, как вам нужно, чтобы ваше приложение работало в реальном времени, оно может вызвать больше проблем, чем решает, но, по крайней мере, позволит вам возобновить сеанс, как если бы вы его никогда не покидали.
Как использовать:
screen
для первого запуска, пролистайте вводные сообщения, вам нужно будет передать терминал. screen -r
для возобновления этого сеанса. Вы можете иметь несколько отдельных сеансов экрана одновременно, в этом случае вам будет показан список доступных сеансов. Есть много других опций, например, разделенные экраны, а также все ярлыки полностью настраиваемые.
Привет, хотя я согласился, что экран - самый эффективный вариант. Вы можете использовать vncserver, а затем запустить процесс на нем.
Кроме того, если ваш единственный интерес состоит в том, чтобы запустить процесс и не нужно возвращать его обратно, и, что крайне важно, вы не знали, что вам нужно будет закрыть сеанс, и у вас уже запущен процесс, вы не удачи, если вы использовали bash в качестве оболочки
Сначала вам нужно отправить процесс в фоновый режим, набрав Ctrl + Z, а затем bg% 1 (число зависит от номера задания, обычно это 1, но вы может легко получить список с помощью команды jobs)
Наконец, вызвать команду disown (за которой следует jobid ... такой же, как с командой bg)
Это удалит отношения родитель-потомок между ваша оболочка и процесс в фоновом режиме, предотвращая ее отмирание, когда ваша оболочка завершается.
screen
, вопрос был задан после входа в систему, как сохранить процессы запущенными, теперь после входа в систему, но до их запуска. Отличный ответ Хорхе, вы действительно помогли мне! :)
– Tuukka Mustonen
26.10.2019, 21:11
Вы не можете сделать это после запуска процесса, вам нужно настроить его, прежде чем запускать долго выполняемое задание.
Вы можете использовать nohup , но современная мудрость предполагает, что вы используете экран или бёбу в качестве логина, чтобы вы могли отсоединиться и оставить все как есть.
Экран обладает тем преимуществом, что вы можете отсоединиться от одной машины и снова подключить ее к другой, что удобно, если вы хотите проверить длительные процессы, которые выполняются после окончания рабочего дня.
Здесь есть разумное руководство по началу работы для экрана .
byobu помещает простой в использовании интерфейс в верхней части экрана с меню и т. Д. Это также текущая реализация экрана в более новой Ubuntu. F2 для запуска новой клеммы F3 / F4 для переключения вперед и назад и F6 для отключения. Введите exit, чтобы окончательно завершить терминалы.
disown
для достижения этой цели. Смотрите ответ @ bassgey
– haridsv
26.10.2019, 21:11
disown
и при необходимости просто Ctrl-z
, затем bg
, чтобы получить его от активного терминала и на задний план. Тогда disown
.
– ffeast
26.10.2019, 21:11
Существуют две основные программы, которые вы можете использовать для поддержки программ и состояния терминала через несколько соединений ssh. Это screen (действующий, но, к сожалению, не поддерживаемый. По-видимому, активно развивается в настоящее время ) и tmux (более новый, активно поддерживаемый). Byobu - это интерфейс, который может работать поверх этих систем и предоставлять дополнительную информацию о состоянии Ubuntu. В новых установках он будет использовать tmux в качестве бэкэнда, если у вас более старая установка byobu и существующий конфиг, он будет поддерживать предыдущий бэкэнд, будь то screen или tmux.
Byobu можно установить на компьютер, выполнив это на компьютере с Debian:
sudo aptitude install byobu
Используя yum, вы сделаете
su -c 'yum install byobu'
Также возможно установить byobu на другие дистрибутивы.
Вы можете запустить byobu, запустив byobu
на хост-машине после подключения с использованием ssh. Это даст вам оболочку, которая выглядит следующим образом:
Вы также можете использовать Терминал Byobu на машине с Ubuntu с опцией -X и легко иметь отлично работающую byobu. . [+1122]
Запустите byobu, набрав byobu
.
Вы можете нажать F2 для создания нового окна в текущем сеансе, F3-F4 для переключения между различными окнами.
Самое приятное в byobu - вам не нужно на самом деле убивать процессы, запущенные в терминале, чтобы покинуть терминал. Вы можете просто отправить screen / tmux (скелет byobu) на задний план и возобновить в следующий раз, когда придете:
В следующий раз, когда вы придете, просто сделайте byobu
, и вы должны вернуться туда, где вы были.
Вы также можете создавать различные сеансы byobu с помощью byobu -S session1
и так далее. И вы можете подключиться к любому из них, когда вернетесь.
Вы можете сделать гораздо больше, используя Бёбу. Используй это! Некоторые окончательные руководства: здесь или здесь .
Я застрял в большом телевизоре, поэтому я не мог остановить процесс, настроить экран и запустить его снова. Мне удалось выйти из сеанса ssh с запущенным процессом, выполнив, по существу, следующие шаги:
Шаг 3 приостанавливает текущий процесс (например, моя команда 'mv').
Шаг 4 переводит приостановленный процесс в фоновый режим и возобновляет его.
Шаг 5 позволяет отказаться от процесса. ** sup> Чтобы получить список заданий, просто наберите jobs
перед этим.
** sup> Относительно отказа (из руководства по bash):
disown [-ar] [-h] [jobspec ... | pid ... ]
Without options, remove each jobspec from the table of active
jobs. If jobspec is not present, and neither the -a nor the -r
option is supplied, the current job is used. If the -h option
is given, each jobspec is not removed from the table, but is
marked so that SIGHUP is not sent to the job if the shell
receives a SIGHUP. If no jobspec is supplied, the -a option
means to remove or mark all jobs; the -r option without a job‐
spec argument restricts operation to running jobs. The return
value is 0 unless a jobspec does not specify a valid job.
disown
действует для самого последнего фонового задания.
– Joan Venge
26.10.2019, 21:12
Экран и nohup - лучший способ, но если вам нужно отсоединить процесс, уже запущенный без экрана или nohup, вы можете запустить команду disown.
disown [-ar] [-h] [
jobspec
i>… |
pid
i>… ]
Без параметров удалите каждый заданий из таблицы активных заданий. Если задана опция
blockquote>-h
, задание не удаляется из таблицы, но помечается так, что SIGHUP не отправляется заданию, если оболочка получает SIGHUP. Если спецификаций заданий нет и не указана ни опция-a
, ни-r
, используется текущее задание. Если спецификация заданий не указана, опция-a
означает удаление или пометку всех заданий; опция-r
без аргумента jobspec ограничивает работу запущенными заданиями.С помощью disown вы можете закрыть терминал и запустить процесс на машине.
disown
, и он убил его.
– SDsolar
26.10.2019, 21:13
disown -a && exit
– Espo
26.10.2019, 21:14
Вы можете сделать это, используя screen
.
Введите man screen
, чтобы узнать больше, или прочтите эту справочную страницу экрана .
Простой сценарий:
ssh в вашу удаленную коробку. Введите screen
Затем запустите нужный процесс.
Нажмите Ctrl kbd> - A kbd>, а затем Ctrl kbd> - D kbd>. Это «отсоединит» ваш сеанс экрана, но оставит ваши процессы запущенными. Теперь вы можете выйти из удаленного окна.
Если вы хотите вернуться позже, войдите снова и введите screen -r
. Это «возобновит» ваш сеанс экрана, и вы сможете увидеть результаты вашего процесса.
screen -S name
, чтобы позже было легче подключиться к правильному.
– MBerg
26.10.2019, 21:14
screen -S
перед уходом и screen -r
при возвращении удивительна!
– mckenzm
26.10.2019, 21:14
nohup
Лучший способ часто самый простой.
nohup long-running-command &
Это было сделано специально для этого, он даже записывает стандартный вывод в nohup.log
.
man nohup
bg
Если вы хотите «наложить фон» на некоторые уже выполняющиеся задачи, то лучше всего Ctrl kbd> + Z < / kbd> затем запустите
bg
, чтобы перевести последнее приостановленное задание в фоновый режим, что позволит продолжить его выполнение.
Затем быстрое disown
должно поддерживать процесс после выхода из системы.
screen
и другие могут сделать это, но это не то, для чего они. Я рекомендую nohup
для задач, которые, как вы знаете, вы собираетесь оставить, и bg
для задач, которые вы уже выполняете и не хотите перезапускать.
Имейте в виду, оба являются специфическими для Bash. Если вы не используете bash, то команды могут отличаться.
bg
+ disown
не работает для меня. У меня был запущен скрипт развертывания, я забыл запустить его внутри tmux, и мне нужно было рано уйти на встречу. Скрипт непрерывно выводит прогресс в оболочку. ctrl+z
остановил процесс, вернув меня в bash. bg
возобновил процесс, но он также возобновил вывод статуса в bash, делая невозможным просмотр того, что я печатал. Однако команда disown
выдала «disown: current: no not job»
– Mark Amery
26.10.2019, 21:14
julia myFile.jl
по любой причине. Tmux делает и отлично.
– kcwu
26.10.2019, 21:14
Вы должны искать современные альтернативы, такие как tmux
.
tmux
превосходит screen
по многим причинам, вот лишь некоторые примеры:
Чтобы получить ту же функциональность, которая описана в ответе с рекомендацией screen
, вам необходимо сделать следующее:
tmux
, введя tmux
в оболочку tmux
Теперь вы можете безопасно выйти из системы с удаленного машина, ваш процесс будет продолжаться внутри tmux
. Когда вы вернетесь снова и захотите проверить состояние вашего процесса, вы можете использовать tmux attach
, чтобы присоединиться к вашему сеансу tmux
.
Если вы хотите, чтобы несколько сеансов работали бок о бок, вы должны называть каждую сессию с помощью Ctrl kbd> + b kbd> и $
. Вы можете получить список запущенных в данный момент сеансов, используя tmux list-sessions
, теперь присоединитесь к запущенному сеансу с помощью команды tmux attach-session -t 0
.
tmux
могут делать гораздо более сложные вещи, чем обрабатывать одно окно за один сеанс. Для получения дополнительной информации обратитесь к man tmux
или странице tmux GitHub . В частности, здесь есть FAQ об основных различиях между screen
и tmux
.
Ctrl-b
, а затем d
, чтобы выйти / отключить сеанс tmux
. Конечно, это относится к версии tmux
на моем Ubuntu 12.04.
– Blixt
26.10.2019, 21:15
tmux detach
вместо ввода ctrl-b d
– mulllhausen
26.10.2019, 21:15
screen -x -r [screenname]
или screen -rx
для краткости, если у вас активен только один сеанс экрана. Это позволяет вам прикрепить существующий экземпляр экрана.
– Robert Siemer
26.10.2019, 21:16
Для одного сценария оболочки, который я выполняю в течение длительного периода времени, я войду в систему и запустите процесс в фоновом режиме, используя '& amp;'.
Пример:
/path/to/my/script &
Я вышел из системы и отключил сеанс SSH. Когда я регистрируюсь через некоторое время, сценарий все еще выполняется, что подтверждается непрерывным сбором данных из сценария.
&
, если вы выйдете из системы и войдете в сеанс SSH, процесс все равно будет запущен i>, однако вы не сможете увидеть < i> вывод i> этого процесса (если ваш скрипт что-то повторил, вы его не увидите, но если он напишет файл, файл будет там)
– pnoob
26.10.2019, 21:15