Arch Linux는 부팅 후 1분 후에 스크립트를 실행합니다.

Arch Linux는 부팅 후 1분 후에 스크립트를 실행합니다.

netctl을 사용하여 eth0과 wlan0 사이에 브리지를 설정했습니다. 시작 시 eth0 및 wlan0을 구성하고 부팅 후 브리지를 수동으로 시작하도록 지시하면 제대로 작동합니다. 어떤 이유로 브리지가 자동으로 시작되도록 지시하면 WLAN 어댑터가 액세스 포인트에 연결되지 않습니다. 따라서 전체 시스템 부팅이 완료된 후 1분 정도 실행하려면 "netctl start bridge"가 필요합니다. 어떻게 해야 할지 아시나요?

추신. 이것은 xorg가 없는 헤드리스 시스템이므로 xorg 시작 시 실행하면 작동하지 않습니다.

답변1

시스템 타이머를 사용하여 부팅 후 1분 후에 스크립트를 실행할 수 있습니다.

먼저 서비스 파일(/etc/systemd/system/myscript.service)을 만듭니다.

[Unit]
Description=MyScript

[Service]
Type=simple
ExecStart=/usr/local/bin/myscript

그런 다음 타이머(/etc/systemd/system/myscript.timer)를 만듭니다.

[Unit]
Description=Runs myscript one minute after boot

[Timer]
# Time to wait after booting before activation
OnBootSec=1min
Unit=myscript.service

[Install]
WantedBy=multi-user.target

이제 활성화하고 실행하십시오.

# systemctl enable myscript.timer
# systemctl start myscript.timer

답변2

Arch는 systemd를 사용하여 시작 프로세스(데몬 등)를 관리합니다.

원하는 명령을 간단히 실행하는 스크립트를 작성할 수도 있고, 잠시 대기한 후 실행할 수도 있습니다. 그런 다음 지침에 따라 부팅 프로세스에 추가하십시오.

위키

수면을 추가하는 경우:

#!/bin/sh
sleep 60 # one min
netctl start bridge

완벽하게 작동할 것입니다. Systemd는 스크립트를 실행할 때 다른 프로세스를 생성해야 시스템이 정지되지 않습니다.

답변3

차단되지 않는 간단한 것을 원한다면 /etc/rc.local에 다음을 추가하십시오:

( sleep 60 && /path/to/command_or_script [opts] ) &

관련 정보