{{tag>[cli network networkmanager nm-online systemd linux]}}
====== nm-online ======
''nm-online''은 NetworkManager에 연결 상태를 질의하고 active connection 또는 startup 완료를 제한 시간까지 기다리는 utility다. 성공 여부는 출력보다 exit status로 판단한다.
===== Installation =====
sudo apt update
sudo apt install network-manager # Debian, Ubuntu
sudo dnf install NetworkManager # Fedora, RHEL 계열
nm-online --help
NetworkManager는 Linux daemon이므로 macOS Homebrew와 Windows ''winget''용 공식 package는 제공되지 않는다.
===== Usage =====
nm-online [OPTIONS]
* ''**nm-online** -q, --quiet'': 출력을 생략한다.
* ''**nm-online** -s, --wait-for-startup'': 연결성 대신 NetworkManager startup 완료를 기다린다.
* ''**nm-online** -t, --timeout SECONDS'': 대기 제한 시간을 지정한다. 기본값은 30초다.
* ''**nm-online** -x, --exit'': NetworkManager가 실행 중이 아니거나 연결 중이 아니면 즉시 종료한다.
===== Examples =====
if nm-online -q -t 15; then
echo "NetworkManager reports an active connection"
else
echo "Network unavailable or timed out" >&2
fi
nm-online -q -s -t 60
''-s''는 boot 시 모든 사용 가능한 autoconnect profile의 활성화 시도가 끝나는 시점을 기다린다. 이미 startup이 끝났다면 현재 연결성 여부와 관계없이 즉시 성공할 수 있으므로 일반적인 online 검사와 혼동하지 않는다.
===== Exit Status =====
^ Status ^ 의미 ^
| ''0'' | 이미 online이거나 제한 시간 안에 연결 또는 요청한 startup 상태에 도달함 |
| ''1'' | offline이거나 제한 시간 안에 online이 되지 않음 |
| ''2'' | 알 수 없거나 명시되지 않은 오류 |
===== systemd =====
''NetworkManager-wait-online.service''는 boot ordering을 위해 ''nm-online -s''를 사용한다. 서비스가 오래 기다리면 단순히 timeout을 줄이기 전에 autoconnect profile, carrier, DHCP와 address-family 완료 조건을 확인한다.
systemctl status NetworkManager-wait-online.service
journalctl -u NetworkManager-wait-online.service -b
nmcli connection show
특정 address family가 반드시 준비되어야 한다면 해당 profile의 ''ipv4.may-fail'' 또는 ''ipv6.may-fail'' 값을 요구 조건에 맞게 검토한다.
===== Help =====
++++ nm-online --help |
Usage:
nm-online [OPTION…]
Waits for NetworkManager to finish activating startup network connections.
Help Options:
-h, --help Show help options
Application Options:
-q, --quiet Don't print anything
-s, --wait-for-startup Wait for NetworkManager startup instead of a connection
-t, --timeout= Time to wait for a connection, in seconds
-x, --exit Exit immediately if NetworkManager is not running or connecting
++++
===== See Also =====
* [[networkmanager:ko|NetworkManager]]
* [[networkmanager:nmcli:ko|nmcli]]
* [[https://networkmanager.dev/docs/api/latest/nm-online.html|nm-online upstream manual]]
* [[https://networkmanager.dev/docs/api/latest/NetworkManager-wait-online.service.html|NetworkManager-wait-online.service manual]]
===== History =====
* codex:: 2026-07-19 nm-online 대기 방식, exit status와 systemd wait-online 진단을 정리했다.
{{indexmenu>.#1|js}}