trap

프로세스가 종료되었음을 알리는 대신 "trap"이 0을 전달하는 이유는 무엇입니까?
trap

프로세스가 종료되었음을 알리는 대신 "trap"이 0을 전달하는 이유는 무엇입니까?

다음을 고려하세요: #!/bin/bash trap 'echo $?' INT kill -INT $$ 산출:0 여기서 나는 130내 시스템을 기대합니다. 물론 내가 a를 했다면 Ctrl + C나는 130. HUP또는 같은 다른 신호에서도 마찬가지입니다 TERM. trap많은 신호를 포착하는 설정이 있는 경우 핸들러가 호출된 신호에 대한 올바른 오류 코드로 종료할 수 없기 때문에 이 동작이 놀랍습니다 . #!/bin/dash exit_abrupt() { exit_code=$? echo ...

Admin

Bash 스크립트에서 서스펜스(ctrl-z)를 지우는 방법은 무엇입니까?
trap

Bash 스크립트에서 서스펜스(ctrl-z)를 지우는 방법은 무엇입니까?

다음 스크립트가 있습니다. suspense_cleanup () { echo "Suspense clean up..." } int_cleanup () { echo "Int clean up..." exit 0 } trap 'suspense_cleanup' SIGTSTP trap 'int_cleanup' SIGINT sleep 600 실행하고 를 누르면 표시 Ctrl-C되고 Int clean up...종료됩니다. Ctrl-Z그런데 을 누르면 ^Z문자가 화면에 나타났다가 멈춥니다. 내가 어...

Admin

armv7l 커널에는 어떤 debian ARCH를 사용해야 하나요?
trap

armv7l 커널에는 어떤 debian ARCH를 사용해야 하나요?

debootstrap --arch=ARCH stable debian-stable http://ftp.debian.org/debian/ debootstrap스키마를 설정해야 합니다. 데비안은 ARM 32비트 아키텍처 제품군을 지원합니다 armel. 리눅스는 armhf어느 것을 선택해야 합니까 armv7l? (보편적으로 지원되는 경우) ...

Admin

Raspberry Pi OS(ARM64)용 pBuilder chroot 환경 생성
trap

Raspberry Pi OS(ARM64)용 pBuilder chroot 환경 생성

AMD64 호스트에서 Raspberry Pi 4B/3B용 Debian 패키지를 빌드하기 위해 Raspberry Pi OS(ARM64)용 pBuilder chroot 환경을 만들려고 합니다. 관련성이 있는 것으로 보이는 튜토리얼을 찾았습니다.https://jod.al/2015/03/08/building-arm-debs-with-pbuilder/. 그러나 오래된 것 같으며 업데이트된 리소스를 찾을 수 없습니다. 빌드 환경을 설정하기 위해 저는 이 조사의 모든 후속 단계에서 사용할 Vagrant 상자를 사...

Admin

업그레이드 실패 후 디스크를 지우지 않고 복구 모드를 통해 전체 데비안을 재설치/복구하는 방법은 무엇입니까?
trap

업그레이드 실패 후 디스크를 지우지 않고 복구 모드를 통해 전체 데비안을 재설치/복구하는 방법은 무엇입니까?

나는 팔로우한다이 위키Debian 10을 11로 업그레이드한 다음 12로 업그레이드하려고 시도했지만 어떤 이유로 시스템이 엉망이 되어 부팅할 수 없으며(커널 패닉) 전체 시스템이 엉망입니다: available apt, available vi등. Debian 12 설치 프로그램을 사용하여 문제를 해결하려고 하며 복구 모드를 사용하여 OS를 다시 설치하려고 합니다. 내가 시도한 것은 다음과 같습니다. 부팅 디스크를 사용하여 복구 모드로 부팅하고 최소 종속성을 설치하려고 시도했지만 apt작동하지 않았습니...

Admin

Debian을 설치하는 스크립트에 UEFI 문제가 있고 컴퓨터 전체에서 일관되지 않은 동작이 있습니다.
trap

Debian을 설치하는 스크립트에 UEFI 문제가 있고 컴퓨터 전체에서 일관되지 않은 동작이 있습니다.

내 목적을 위해 나는 스크립트를 실행하는 모든 컴퓨터의 하드 드라이브에 사용자 정의 데비안 시스템을 자동으로 설치하는 스크립트를 작성하고 있습니다. 이 스크립트는 모든 라이브 Linux 배포판에서 사용되도록 설계되었습니다. 저는 데비안 프리팹에 대해 알고 있습니다. 불행하게도 이 경우 프리팹은 실행 가능한 솔루션이 아닙니다. 스크립트가 작동합니다. 그러나 일관되게 작동하지 않습니다. 일부 컴퓨터(예: 2011 Macbook Air)에서는 새로운 EFI 구성이 문제 없이 업데이트됩니다. 그러나 일부 컴...

Admin

프로세스가 자체적으로 종료되도록 SIGINT를 캡처합니다.
trap

프로세스가 자체적으로 종료되도록 SIGINT를 캡처합니다.

그래서 5절이 나옵니다.여기그것은 나에게 의미가 있으며 그것을 구현하고 싶습니다. 이 bash 스크립트가 있습니다 #!/usr/bin/env bash cp aux.sh aux.sh.bak cleanup() { cp aux.sh.bak aux.sh rm -rf aux.sh.bak } trap 'cleanup; trap - SIGINT; kill -s SIGINT "$$"' SIGINT trap cleanup EXIT echo "Hold this for now" >> au...

Admin

하위 tmux 프로세스에서 트랩을 사용하는 방법은 무엇입니까?
trap

하위 tmux 프로세스에서 트랩을 사용하는 방법은 무엇입니까?

하위 tmux 프로세스가 종료되면 함수를 실행하고 싶습니다. 다음 스크립트를 고려해보세요. #!/bin/bash function foo { echo "foo exit" } trap foo SIGHUP tmux 이 스크립트는 tmux를 시작합니다. 그런 다음 tmux 세션 내에서 다음을 실행합니다. $ tmux kill-session 그런 다음 tmux가 닫히고 다음이 표시됩니다. [exited] 함수가 foo호출되지 않았습니다. 상위 프로세스가 SIGHUP 신호를 수신하지 않았기 때문인...

Admin

트랩은 외부 프로그램에 어떤 영향을 미치나요?
trap

트랩은 외부 프로그램에 어떤 영향을 미치나요?

무시되지 않는 트랩은 서브쉘에 들어갈 때 기본 동작으로 설정되어야 합니다. 원천:https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_28 분명히 쉘에서 호출하는 외부 프로그램의 경우에도 마찬가지입니다. trap "" SIGNAL이 신호를 포착(무시)하기 위해 노력하세요. 그러나 trap action SIGNAL호출되지 않고 action아무 작업도 수행하지 않으며 신호 처리가 원래 기본값으로 설정된 것으로 ...

Admin

Bash를 종료할 때 sudo에 발생할 수 있는 보안 위험
trap

Bash를 종료할 때 sudo에 발생할 수 있는 보안 위험

나는 최근에 bash가 종료될 때 명령을 실행하기 위해 bash의 내장 trap명령을 사용하는 방법에 대해 읽었습니다. 예를 들어 trap "notify-send test" EXITbash가 종료될 때 즉시 데스크탑 알림을 보내는 것입니다. 가장 먼저 떠오르는 것은 공격자가 이를 이용할 수 있는가 하는 것입니다. 몇 가지 연구와 시행착오 끝에 다음을 발견했습니다. sudo 매뉴얼 페이지는 다음과 같이 말합니다. 보안 정책은 사용자가 인증 없이 일정 기간 동안 sudo를 다시 실행할 수 있도록 자격 ...

Admin

포그라운드 프로세스에서 SIGTTIN SIGTTOU를 보내고 포착하시겠습니까?
trap

포그라운드 프로세스에서 SIGTTIN SIGTTOU를 보내고 포착하시겠습니까?

신호의 설명에 따르면 (인용하다), SIGTTIN 및 SIGTTOU는 백그라운드에 있을 때만 프로세스로 전송되는 것 같습니다. 이러한 흐름 제어가 활성화된 경우 키를 누르면 Ctrl-s터미널에서 인쇄가 중지됩니다. 따라서 문제는 SIGTTIN/SIGTTOU 신호를 현재 포그라운드에 있는 프로세스에 실제로 전달하고 이를 포착하는 것이 가능합니까?입니다. 예를 들어 다음 코드를 파일에 저장 chmod +x하고 실행해 보세요. 그런 다음 Ctrl-s/ 를 누르십시오 Ctrl-q. 인쇄가 Ctrl-s중지되었...

Admin