이 netserver
바이너리는 일반적으로 iperf3
.in 과 쌍을 이룹니다.많은 맥락다른 Stack Exchange 질문을 포함하여 시작 방법이 netserver
미스터리 옵션으로 표시됩니다 -D
.
이 -D
옵션은 매뉴얼 페이지에 문서화되어 있지 않으며 이 옵션이 다른 작업을 수행하는 것 같지도 않으며 netserver(1)
내가 찾은 다른 곳에서 시작할 이유도 제공되지 않습니다.-D
그래서 내 질문에 대답할 수 있다면 --D
이 옵션의 목적은 무엇입니까?확장하여,이 옵션은 어디에 문서화되어 있나요 -D
?
-D
다음은 , per를 포함하는 샘플 단위 파일입니다.플라비오의 블로그이것은 내가 사용하는 것과 가깝습니다.
[Unit]
Description="Netperf netserver daemon"
After=network.target
[Service]
ExecStart=/usr/local/bin/netserver -D
[Install]
WantedBy=multi-user.target
답변1
답변2
D
나타낼 수도 있다디버그, 비록 그 의도가 표시되지는 않았지만개발자추가할 때 (가능한다른 사람을 대신하여):
commit 88eecaf68174e4e0190e2b866e0bcb59b81b6061
Author: raj <raj@5bbd99f3-5903-0410-b283-f1d88047b228>
Date: Mon Jul 11 21:58:41 2011 +0000
massive re-write of src/netserver.c to clean out old spaghetti allow multiple listen sockets for control and run netserver without daemonizing or spawning children to avoid fork calls which may not sit well with various bypass libraries. this has probably broken the Windows code and perhaps other platforms as well but it has been tested under linux
사용원천(즉, 읽기 netserver.c
):
case 'D':
/* perhaps one of these days we'll take an argument */
want_daemonize = 0;
not_inetd = 1;
break;
첫 번째 변수는 want_daemonize
다음 용도로 사용됩니다.같은 파일프로그램이 다음 위치에 배치되는지 여부를 제어합니다.배경:
/* we are the top netserver process, so we have to create the
listen endpoint(s) and decide if we want to daemonize */
setup_listens(local_host_name,listen_port,local_address_family);
if (want_daemonize) {
daemonize();
}
accept_connections();
또 다른 변수는 not_inetd
다음 여부를 제어합니다.노력하다inetd
서비스의 소켓을 엽니다 .
개발자는 예를 들어 2002 섹션에 설명된 대로 다른 프로그램의 장기적인 동작을 고려할 수 있습니다.29.2.1 독립 서비스 호출(실제로는 옵션의 의미가 반대가 되지만):
다음을 시도해 보십시오(대괄호 안의 대체 명령)
/usr/sbin/in.ftpd -D
( /usr/sbin/in.wuftpd -s )
.-D
옵션은 서비스가 시작되도록 지시합니다.악마모드(또는 독립형 모드). 이것이 인터넷 서비스를 운영하는 최초의 방법이었습니다.