Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 공급자에서 실행할 수 있는 epmd 명령입니다.
프로그램:
이름
epmd - Erlang 포트 매퍼 Daemonepmd [-d|-debug] [DbgExtra...] [-주소 주소] [-port
아니요] [-daemon] [-relaxed_command_check]포트 매퍼 시작 daemonepmd [-d|-debug] [-port
No] [-names|-kill|-stop Name]실행 중인 포트 매퍼 데몬과 통신합니다.
기술
이 데몬은 분산 Erlang과 관련된 모든 호스트에서 이름 서버 역할을 합니다.
계산. Erlang 노드가 시작되면 노드에는 이름이 있고 주소를 얻습니다.
호스트 OS 커널에서. 이름과 주소는 다음 주소로 전송됩니다. epmd 실행 중인 데몬
로컬 호스트. TCP/IP 환경에서 주소는 IP 주소와 포트로 구성됩니다.
숫자. 노드의 이름은 다음과 같은 형식의 원자입니다. 이름@노드. 의 직업 epmd
데몬은 어떤 노드 이름이 어떤 주소에서 수신 대기하는지 추적하는 것입니다. 따라서, epmd 지도
컴퓨터 주소에 대한 기호 노드 이름.
TCP/IP epmd 데몬은 실제로 성함 (첫 번째) Erlang의 일부
노드 이름. 그만큼 주인 부분(뒤에 있는 것은 @)는 노드 이름에 내포되어 있습니다.
epmd Erlang 노드가 연결될 수 있는 IP 주소와 마찬가지로 데몬이 실제로 연결되었습니다.
도달했다. 따라서 Erlang에는 일관되고 올바른 TCP 이름 지정 서비스가 필요합니다.
네트워크가 올바르게 작동하도록 합니다.
시작 중 전에, 포트 매퍼 악마:
데몬은 다음에 의해 자동으로 시작됩니다. erl 노드가 될 경우 명령
분산되어 있고 실행 중인 인스턴스가 없습니다. 자동으로 실행되는 경우,
데몬의 동작을 변경하려면 환경 변수를 사용해야 합니다. 참조
환경 변수 섹션을 참조하십시오.
-daemon 인수가 지정되지 않은 경우 epmd 와 함께 정상적인 프로그램으로 실행
시작되는 쉘의 제어 터미널. 일반적으로 다음과 같이 실행해야 합니다.
악마.
일반 시작 옵션은 다음 항목에 설명되어 있습니다. 정규병 옵션 섹션을 참조하십시오.
이 어플리케이션에는 XNUMXµm 및 XNUMXµm 파장에서 최대 XNUMXW의 평균 출력을 제공하는 DbgExtra 옵션은 DbgExtra 옵션 섹션을 참조하십시오.
의사 소통 과 a 달리는 포트 매퍼 악마:
다음을 통해 실행 중인 epmd 데몬과 통신 epmd 프로그램이 완료되었습니다
주로 디버깅 목적으로.
다양한 쿼리는 다음 항목에 설명되어 있습니다. 대화 형 옵션 섹션을 참조하십시오.
정규병 옵션
이 옵션은 실제 이름 서버를 시작할 때 사용할 수 있습니다. 네임서버는
일반적으로 다음에 의해 자동으로 시작됩니다. erl 명령(이미 사용할 수 없는 경우)이지만
즉, 시스템 시작 시에도 시작됩니다.
-주소 명부:
이 인스턴스를 보자 epmd 쉼표로 구분된 IP 주소 목록에서만 듣고
루프백 주소(목록에 추가되지 않은 경우 암시적으로 추가됨)
지정된). 이는 다음을 사용하여 설정할 수도 있습니다. ERL_EPMD_ADDRESS 환경 변수. 보다
그 부분 환경 변수 아래.
-포트 아니:
이 epmd 인스턴스가 기본값 4369가 아닌 다른 TCP 포트를 수신하도록 합니다.
를 사용하여 설정 ERL_EPMD_PORT 환경 변수. 섹션 참조 환경
변수 이하
-d | -디버그:
디버그 출력을 활성화합니다. 더 -d 플래그가 제공될수록 더 많은 디버그 출력을 얻을 수 있습니다.
특정 한도). 이 옵션은 epmd 데몬이
악마.
-악마:
제어 터미널에서 분리된 epmd를 시작합니다. 로깅은 다음과 같은 경우 syslog에서 종료됩니다.
사용할 수 있고 올바르게 구성되었습니다. 부팅 시 epmd 데몬이 시작되면 이 옵션은
반드시 사용해야 합니다. 때에도 사용된다. erl 명령이 자동으로 시작됩니다
epmd.
-relaxed_command_check:
완화된 명령 검사로 epmd 프로그램을 시작합니다(대부분 역방향
호환성). 이는 다음에 영향을 미칩니다.
* 편안한 명령 검사를 통해 epmd 다음을 사용하여 로컬 호스트에서 데몬을 죽일 수 있습니다.
즉 epmd -죽임 활성 노드가 등록되어 있어도 마찬가지입니다. 일반적으로 데몬만
빈 노드 데이터베이스가 있는 데이터베이스는 epmd -죽임 명령.
* epmd -중지 명령(및 주어진 epmd에 대한 해당 메시지
사용 erl_interface/ei) 가능성을 열어주기 때문에 일반적으로 항상 무시됩니다.
같은 이름의 두 노드가 동시에 살아있을 수 있는 이상한 상황
시간. 노드는 epmd에 대한 연결을 닫음으로써 자체 등록을 취소합니다.
전에, 중지 명령은 디버깅 상황에서만 사용하기 위한 것입니다.
완화된 명령 검사를 활성화하면 라이브 노드를 강제로 등록 취소할 수 있습니다.
완화된 명령 검사는 환경 변수를 설정하여 활성화할 수도 있습니다.
ERL_EPMD_RELAXED_COMMAND_CHECK 시작하기 전에 epmd.
대화식 사용이 매우 제한된 시스템에서만 완화된 명령 검사를 사용하십시오.
DBGEXTRA 옵션
이러한 옵션은 순전히 epmd 클라이언트를 디버깅하고 테스트하기 위한 것입니다. 그들은 사용해서는 안됩니다
정상 작동 중.
-packet_timeout 초:
epmd가 시간 초과되기 전에 연결이 비활성화될 수 있는 시간(초)을 설정하고
연결을 닫습니다(기본값 60).
-delay_accept 초:
바쁜 서버를 시뮬레이트하기 위해 epmd가
새 연결이 요청되고 연결이 수락될 때.
-delay_write 초:
또한 바쁜 서버의 시뮬레이션. 응답이 전송되기 전에 지연을 삽입합니다.
인터렉티브 옵션
이러한 옵션은 epmd 전송 결과를 표시하는 대화식 명령으로 실행
이미 실행 중인 인스턴스에 대한 쿼리 epmd. 연락된 epmd는 항상 로컬에 있습니다.
노드이지만 -포트 여러 인스턴스가 실행 중인 경우 옵션을 사용하여 인스턴스를 선택할 수 있습니다.
호스트에서 다른 포트를 사용합니다.
-포트 아니:
연락처 epmd 지정된 TCP 포트 번호(기본값 4369)에서 수신합니다. 이것은 또한 할 수 있습니다
를 사용하여 설정 ERL_EPMD_PORT 환경 변수. 섹션 참조 환경
변수 아래.
-이름:
현재 실행 중인 epmd에 등록된 이름 나열
-죽임:
현재 실행중인 죽이기 epmd.
달리기 죽이기 epmd 경우에만 허용됩니다. epmd -이름 빈 데이터베이스를 표시하거나
-relaxed_command_check 의 실행 인스턴스가 주어졌을 때 epmd 시작됐다. 메모
그 -relaxed_command_check 수락할 데몬을 시작할 때 제공됩니다.
라이브 노드가 등록되면 종료합니다. epmd를 대화식으로 실행할 때
-relaxed_command_check 효과가 없습니다. 완화된 명령 없이 시작되는 데몬
예를 들어 신호 또는 다른 OS 특정 방법을 사용하여 확인을 종료해야 합니다.
활성 클라이언트가 등록되어 있습니다.
-중지 성함:
에서 라이브 노드를 강제로 등록 취소합니다. epmd의 데이터베이스
이 명령은 접촉할 때만 사용할 수 있습니다. epmd 로 시작된 인스턴스
-relaxed_command_check 깃발. 완화된 명령 검사는 다음에 대해 활성화되어야 합니다.
전에, epmd 데몬이 접촉했습니다. epmd를 대화식으로 실행할 때 -relaxed_command_check 이
효과 없음.
환경 변수
ERL_EPMD_ADDRESS:
이 환경 변수는 쉼표로 구분된 IP 주소 목록으로 설정할 수 있습니다.
어떤 경우 epmd 데몬은 지정된 주소에서만 수신 대기합니다.
루프백 주소(지정되지 않은 경우 목록에 암시적으로 추가됨).
기본 동작은 사용 가능한 모든 IP 주소에서 수신 대기하는 것입니다.
ERL_EPMD_PORT:
이 환경 변수는 epmd가 사용할 포트 번호를 포함할 수 있습니다. 기본 포트
대부분의 경우 잘 작동합니다. 여러 포트를 허용하도록 다른 포트를 지정할 수 있습니다.
노드의 독립적인 클러스터를 나타내는 epmd의 인스턴스가 동일한 노드에 공존
주인. 클러스터의 모든 노드는 동일한 epmd 포트 번호를 사용해야 합니다.
ERL_EPMD_RELAXED_COMMAND_CHECK:
시작하기 전에 설정하면 epmd 데몬은 마치 -relaxed_command_check
시작 시 옵션이 제공되었습니다. 결과적으로 이 옵션을 시작하기 전에 설정하면
자동으로 시작되는 Erlang 가상 머신 epmd 받아들일 것이다 -죽임 and -중지
제한 없는 명령.
벌채 반출
일부 운영 체제에서 syslog epmd가 다음으로 실행될 때 오류 보고에 사용됩니다.
악마. 오류 로깅을 활성화하려면 /etc/syslog.conf 파일을 편집하고
항목
!epmd
*.* /var/log/epmd.log
어디 적어도 하나의 실제 탭 문자입니다. 공백은 자동으로 무시됩니다.
ACCESS 제한 사항
이 어플리케이션에는 XNUMXµm 및 XNUMXµm 파장에서 최대 XNUMXW의 평균 출력을 제공하는 epmd 데몬은 localhost와 원격 호스트 모두에서 메시지를 받아들입니다. 그러나,
질의가 원격 호스트에서 오는 경우 질의 명령이 응답(및 실행)됩니다. 그것은
클라이언트가 다음에 위치한 프로세스가 아닌 경우 노드 이름을 등록하려고 하면 항상 오류가 발생합니다.
호스트와 동일한 epmd 인스턴스가 실행 중입니다. 이러한 요청은 적대적인 것으로 간주되며
연결이 즉시 닫힙니다.
원격 노드에서 허용되는 쿼리는 다음과 같습니다.
* 포트 쿼리 - 즉 주어진 이름을 가진 노드가 어떤 포트에서 수신 대기합니까?
* 이름 목록 - 즉 호스트에 등록된 모든 이름 목록 제공
액세스를 추가로 제한하려면 방화벽 소프트웨어를 사용해야 합니다.
onworks.net 서비스를 사용하여 온라인에서 epmd 사용