Упражнение 9: Bash: управление задачами, jobs, fg
Linux — это многозадачная операционная система. Это означает, что одновременно может работать несколько программ. С точки зрения пользователя это означает, что вы можете запускать несколько программ одновременно, и bash, безусловно, имеет инструменты для управления выполнением нескольких задач. Чтобы использовать эту функцию, вам необходимо изучить следующие команды:
<CTRL> + z
— приостанавливает выполнение текущей программы и отправляет её в фоновый режим.jobs
— выводит список всех фоновых программ.fg
— возвращает программу на передний план. Команда fg
принимает число в качестве аргумента, которое можно получить из списка jobs
, или, если аргумент не указан, она возвращает последнюю приостановленную программу на передний план.<Ctrl> + c
— немедленно останавливает выполнение текущей запущенной программы. Хотя я не буду использовать его в этом упражнении, я должен сказать, что он может быть очень полезным.Теперь вы узнаете, как использовать встроенные инструменты bash для управления выполнением программ.
Как это сделать:
Что вы увидите:
user1@vm1:~$ less -S .profile
# exists.
# see /usr/share/doc/bash/examples/startup-files for
# the files are located in the bash-doc package.
# the default umask is set in /etc/profile; for setti
# for ssh logins, install and configure the libpam-um
#umask 022
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
[1]+ Stopped less -S .profile
user1@vm1:~$ less -S .bashrc
# for examples
# If not running interactively, don't do anything
[ -z "$PS1" ] && return
# don't put duplicate lines in the history. See bash(
# don't overwrite GNU Midnight Commander's setting of
HISTCONTROL=$HISTCONTROL${HISTCONTROL+:}ignoredups
# ... or force ignoredups and ignorespace
HISTCONTROL=ignoreboth
# append to the history file, don't overwrite it
shopt -s histappend
[2]+ Stopped less -S .bashrc
user1@vm1:~$ less -S .bash_history
echo Hello, $LOGNAME!
echo 'echo Hello, $LOGNAME!' >> .profile
cp .profile .profile.bak
tail .profile
ls -altr
history -w
ls -al
cat .profile
echo Hello, $LOGNAME!
echo 'echo Hello, $LOGNAME!' >> .profile
cp .profile .profile.bak
tail .profile
ls -altr
[3]+ Stopped less -S .bash_history
user1@vm1:~$ jobs
[1] Stopped less -S .profile
[2]- Stopped less -S .bashrc
[3]+ Stopped less -S .bash_history
user1@vm1:~$ fg
user1@vm1:~$ fg
user1@vm1:~$ fg
user1@vm1:~$ fg
-bash: fg: current: no such job
user1@vm1:~$ jobs
user1@vm1:~$
Объяснение:
.profile
, чтобы просмотреть его. Обратите внимание, как я использую параметр -S
, чтобы включить опцию -chop-long-lines
в less
.less
..bashrc
, чтобы просмотреть его.less
..bash_history
, чтобы просмотреть его.less
.less
.less
.less
.jobs
.Дополнительное задание:
Откройте man bash
, найдите JOB CONTROL, введите /, JOB CONTROL, <ENTER>
и прочитайте его.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )