VPN 연결을 설정하는 것부터 시작했습니다 sudo openvpn --daemon --config connection.ovpn
. ps
프로세스를 직접 검색한 다음 다시 검색하지 않고도 이 연결을 끊을 수 있는 방법이 있습니까 kill
?
답변1
OpenVPN은 이에 대한 자체 기능을 제공하지 않는 것 같으므로 이를 찾아보실 수 있습니다 pkill <process-name>
.모두주어진 이름과 프로세스를 일치시키고 종료합니다.
여러 인스턴스를 실행 중이지만 특정 인스턴스만 종료하려는 경우 이 -f
옵션을 사용하면 인수를 포함하는 전체 프로세스 호출을 일치시킬 수 있습니다 pkill -f "openvpn --config connection.ovpn"
.
ps x
데몬이 어떤 매개변수로 시작되었는지 알아보려면 or 의 출력을 살펴보세요 pgrep -lf <process-name>
( 와 동일 pkill
하지만 종료하지 않으므로 본질적으로 유사함 ).ps | grep <name>
답변2
~에서https://openvpn.net/community-resources/how-to/
Linux/BSD/Unix에서 OpenVPN 프로세스 실행 제어
OpenVPN은 여러 신호를 허용합니다.
SIGUSR1 — Conditional restart, designed to restart without root privileges
SIGHUP — Hard restart
SIGUSR2 — Output connection statistics to log file or syslog
SIGTERM, SIGINT — Exit
writepid 지시문을 사용하여 OpenVPN 데몬의 PID를 파일에 기록하면 신호를 보낼 위치를 알 수 있습니다(initscript를 사용하여 openvpn을 시작한 경우 스크립트가 openvpn 명령줄에서 –writepid 지시문을 전달했을 수 있습니다).
따라서 kill 명령을 사용하고 arg -writepid를 사용하여 openvpn을 시작해야 합니다.
답변3
아니요, 프로세스를 종료해야 합니다. 공평하게 말하면 데몬 관리 스크립트가 바로 그 일을 할 수 있습니다. pgrep이나 pkill을 사용하면 삶을 더 쉽게 만들 수 있습니다.
답변4
sudo openvpn3 session-manage --disconnect --config $'client'.ovpn
클라이언트를 적절한 이름으로 바꾸십시오. 세션이 종료됩니다.