2009-12-01 4 views
0

포트 드라이버에 "버그"가있는 경우 잠금을 사용할 수 없습니다.외국 응용 프로그램에서 리눅스 직렬 포트 열기 방지하는 방법?

글쎄, 당신이 뭔가 아닌 표준 장치 파일의 이름을 변경, 그래서 열려고 모든 것을 할 수 ...

+0

프로그래밍 관련 질문입니까? 시리얼 드라이버를 쓰고 있습니까? "외국"이란 뜻은 무엇입니까? – unwind

+0

예, 프로그래밍 질문입니다. 아니요, 저는 시리얼 포트를 통해 버그가있는 드라이버로 연결된 장치 용 응용 프로그램을 작성하고 있습니다. 외국 - 다른 바이너리에서 시작되었습니다. –

+0

참조 : [Linux에서 직렬 포트 및 기타 장치를 잠그는 가장 좋은 방법은 무엇입니까?] (http://stackoverflow.com/questions/30316722/what-is-the-best-practice-for-locking-serial-ports -and-other-devices-in-linux) –

답변

1

그래서 당신은 장치 파일을 여는 다른 프로세스를 잠글 필요하지만, 파일 잠금은 받아 들일 수/dev/ttyS0는 발가락을 밟지 않습니다.

+0

* 감사합니다. 관심있는 아이디어입니다. –

1

에 대한 경고가 있다고 가정하면은 "foreign"바이너리로 열립니다. 드라이버의 open() 메소드에서 여는 바이너리 (current-> comm)의 이름과 일치하십시오. 바이너리 만 열 수 있습니다.

은 물론 쉽게 (. 외국 바이너리 이름을 변경하여) 우회 할 수

+0

* 감사합니다 * 관심이 있지만 나를 위해 아닙니다. –

0

또는 당신은 당신이의 구성원 인 사용자 정의 그룹에 대한 액세스 권한을 부여, 해당 디바이스 파일의 속성을 변경할 수 있습니다. 모든 사용자가 직렬 포트에 액세스 할 수있게하려면이 기능이 작동하지 않을 수 있습니다.