인증 프로세스를 포함하여 여러 프로세스가있는 응용 프로그램이 있습니다. 연결이 설정되고 인증이 성공하면 인증 시작을 방지해야합니다. 이 동작을 어떻게 구현할 수 있습니까? 플랫폼 - 리눅스.이전에 프로세스가 시작된 경우 프로세스가 시작되는 것을 방지하는 방법은 무엇입니까?
0
A
답변
0
공유 세마포 및 작은 공유 메모리를 활용할 수 있습니다. 세마포어 mutex
과 공유 메모리 bool is_authenticated
을 호출 해 봅시다. mutex
은 1 값으로 초기화되고 is_authenticated
값은 false로 초기화됩니다.
그런 다음 인증 프로세스가된다 : 그런 다음 인증 만료 알아서해야
wait(mutex);
if (!is_authenticated)
authenticate();
is_authenticated = true;
signal(mutex);
. 따라서 세션이 끝났을 때 :
wait(mutex);
assert(is_authenticated == true); /* if not, you have been compromised */
deauthenticate();
is_authenticated = false;
signal(mutex);
0
이미 동일한 응용 프로그램이 실행중인 경우 프로세스를 체크인 할 수 있습니다. 사용하는 언어에 따라 고급 검사, 리소스 잠금 등을 수행 할 수있는 강력한 라이브러리가 있습니다.
가장 쉬운 해결책은 프로그램이 실행 중임을 나타내는 잠금 파일 (예 :/tmp)을 작성하고 해당 파일이 프로그램의 시작 부분에 있는지 확인하는 것입니다. 이 방법의 단점은 응용 프로그램이 중단 되더라도 잠금 파일이 삭제된다는 것을 확신해야한다는 것입니다.
관련 문제
- 1. Azure 토폴로지 변경시 node.js 프로세스가 다시 시작되는 것을 방지하는 방법
- 2. 프로세스가 자동으로 다시 시작되는 이유는 무엇입니까?
- 3. 시작된 프로세스가 종료되면 알림 받기
- 4. 프로세스가 시작되는 동안 왜 지연되고 정지됩니까?
- 5. 프로세스가 시작되는 단계와 상관없이 Maven로드 속성
- 6. Java 프로그램을 시작하자마자 Java 프로세스가 시작되는 이유
- 7. 프로세스가 시작된 이후 exe 이름이 변경된 경우 어떻게 감지합니까?
- 8. 프로세스가 시작된 명령 줄 옵션을 찾으려면
- 9. 자식 프로세스가 시작된 경우에 대한 수신기가 있습니까?
- 10. ps 유틸리티가 프로세스가 시작된 연도를 표시하지 않습니다.
- 11. CreateProcessWithLogonW 서비스에서 시작된 프로세스가 즉시 종료됩니다.
- 12. 프로세스가 시작된 후 ProcessBuilder의 환경 변수 변경
- 13. 프로세스가 생성되고 프로세스가 실행되지 않거나 프로세스가 종료되는 것을 어떻게 알 수 있습니까?
- 14. iPhone에서 앱이 시작되는 것을 방지하는 방법
- 15. MySQL 프로세스가 멈췄는지 확인하는 방법은 무엇입니까?
- 16. 프로세스가 완료되었는지 확인하는 방법은 무엇입니까?
- 17. 프로세스가 종료되었는지 확인하는 방법은 무엇입니까?
- 18. 하위 프로세스 모듈로 시작된 프로세스가 잠자기 상태로 전환됨
- 19. 마일스톤의 메모리가 부족한 상태에서 Android 시스템에 의해 프로세스가 중단되는 것을 방지하는 방법은 무엇입니까?
- 20. 자식이 아닌 프로세스가 상태를 변경하는 것을 기다리는 방법은 무엇입니까?
- 21. nodejs 프로세스가 완료된 것을 알 수있는 방법은 무엇입니까?
- 22. Poco sub 프로세스가 충돌하는 것을 감지하는 방법은 무엇입니까?
- 23. 하위 프로세스가 도크에서 튀는 것을 방지하려면 어떻게해야합니까?
- 24. Pool.map - 이전에 작업자 프로세스가 충돌하지 않는 이유는 무엇입니까?
- 25. 무거운 프로세스가 스왑 파일에 잠기는 것을 방지
- 26. 프로세스가 실행되는 코어는 무엇입니까?
- 27. 내 w3wp 프로세스가 다시 시작되는 원인을 확인하는 방법
- 28. 다른 프로세스가 WMI를 통해 시작되는 프로세스를 모니터링 할 수 있습니까?
- 29. Visual Studio : 프로세스가 시작되는 즉시 자동으로 디버거를 연결하여
- 30. 프로세스가 시작되는 즉시 디버거를 프로세스에 연결하도록 xcode에 지시하는 방법?