Вопросы с тегом «exit»

13
надежный код возврата фонового процесса

Давайте предположим следующий фрагмент кода bash: foo > logfile 2>&1 & foo_pid=$! while ps -p$foo_pid do ping -c 1 localhost done wait $foo_pid if [[ $? == 0 ]] then echo "foo success" fi Можно ли предположить, что $?действительно содержит код возврата, fooа не код возврата ping? Если...

13
Как правильно перехватить код выхода / обработать ошибки при использовании подстановки процесса?

У меня есть скрипт, который анализирует имена файлов в массив, используя следующий метод, взятый из Q & A на SO : unset ARGS ARGID="1" while IFS= read -r -d $'\0' FILE; do ARGS[ARGID++]="$FILE" done < <(find "$@" -type f -name '*.txt' -print0) Это прекрасно работает и прекрасно...

12
Почему дочерний элемент vfork или fork должен вызывать _exit () вместо exit ()?

Со страницы руководства vfork(): vfork () отличается от fork () тем, что родительский элемент приостанавливается до тех пор, пока дочерний элемент не вызовет execve (2) или _exit (2). Дочерний узел совместно использует всю память со своим родителем, включая стек, до тех пор, пока дочерний объект не...

12
Выход из функции bash, а не терминала

У меня есть скрипт bash, как показано ниже, который устанавливает zookeeper, но только если он еще не установлен. ##zookeper installZook(){ ZOOK_VERSION="3.4.5" ZOOK_TOOL="zookeeper-${ZOOK_VERSION}" ZOOK_DOWNLOAD_URL="http://www.us.apache.org/dist/zookeeper/${ZOOK_TOOL}/${ZOOK_TOOL}.tar.gz" if [ -e...

12
Что такое «Выход 2» из состояния завершенной фоновой работы?

У меня есть упражнение, чтобы поместить в файл некоторые данные (* conf из некоторых каталогов), и мне нужно сделать это в фоновом режиме. Я сделал это, и мне интересно, что означает вывод сообщений: [A@localhost tests]$ ls -ld /etc/*conf /usr/*conf > test1_6_conf.txt 2>&1 & Enter...

11
Выход из сценария оболочки с вложенными циклами

У меня есть скрипт оболочки с вложенными циклами, и я только что узнал, что «выход» на самом деле не завершает скрипт, а только текущий цикл. Есть ли другой способ полностью выйти из сценария при определенном состоянии ошибки? Я не хочу использовать "set -e", потому что есть допустимые ошибки, и...

11
Вызовите скрипт для другого скрипта, но не выходите из родительского, если ребенок вызывает exit

first.sh: #! /bin/ksh echo "prova" . ./second.sh echo "ho lanciato il secondo" . ./third.sh echo "ho lanciato il terzo" second.sh: echo "sono nel secondo script" dosomething1 exit $? Если second.shобнаруживает ошибку и выходит со статусом -9, first.shвыходит всегда. Как я могу избежать выхода из...

11
Безопасно ли закрывать оболочку, просто нажав «X» или используя «ctrl + d»?

Безопасно ли закрывать оболочку, просто нажав «X» или используя «ctrl + d» при входе в систему от имени пользователя root с помощью su, или безопаснее закрыть ее, набрав «exit»? Есть ли какая-либо разница (в плане безопасности) или она одинакова, и не имеет значения, какой способ вы...

11
Почему vfork () предназначен для использования, когда дочерний процесс вызывает exec () или exit () сразу после создания?

Концепции операционной системы и APUE говорят При использовании vfork () родительский процесс приостанавливается, а дочерний процесс использует адресное пространство родительского процесса. Поскольку vfork () не использует копирование при записи, если дочерний процесс изменяет какие-либо страницы...

10
Почему я получаю ошибку 255 при возврате -1

Я новичок в программировании на C ++, и у меня есть очень простой вопрос. Я заметил, что когда я возвращаюсь -1в программу на C ++, а затем проверяю состояние выхода, я получаю 255. Это почему? Код является самым основным: int main() { return -1; } Затем, после запуска скомпилированного кода: echo...

10
Состояние выхода Bash используется с PIPE

Я пытаюсь понять, как состояние выхода передается при использовании канала. Предположим, я использую, whichчтобы найти несуществующую программу: which lss echo $? 1 Поскольку whichне удалось найти, lssя получил статус выхода 1. Это нормально. Однако, когда я пытаюсь следующее: which lss | echo $? 0...

10
Записать код завершения команды, аналогично команде времени

с помощью time sleep 1 выходы: $ time sleep 1 real 0m1.005s user 0m0.001s sys 0m0.001s Есть ли команда, которую я могу использовать, чтобы напечатать код выхода sleepили любую команду, которую я хочу выполнить? Что-то нравится: $ log-exit-code sleep 1 возможно этого достаточно? sleep 1 &&...

10
Захватить код выхода команды выхода

У меня есть это в сценарии Bash: exit 3; exit_code="$?" if [[ "$exit_code" != "0" ]]; then echo -e "${r2g_magenta}Your r2g process is exiting with code $exit_code.${r2g_no_color}"; exit "$exit_code"; fi Похоже, он выйдет сразу после команды выхода, что имеет смысл. Мне было интересно, есть ли...