
PDF 파일을 열기 위해 와인에서 PDFXCview.exe(pdfxchange 뷰어 휴대용 버전용)를 실행하고 있습니다.
PDFXCview.exe 1.pdf
다른 파일에 대해 동일한 작업을 수행하면 PDFXCview.exe의 동일한 프로세스에 의해 다른 파일이 열립니다. 다른 프로세스에서 열 수 있나요? 그 이유는 동일한 프로세스에서 두 개의 PDF 파일을 열면 응용 프로그램이 응답하지 않거나 느려지기 때문입니다.
다른 프로세스를 실행하고 있습니까? 아니면 실행 가능한 PDFXCview.exe에 의해 결정되지 않습니까? exe 파일이 서버로 실행되기 때문인가요?
다른 기본 Linux 애플리케이션에서도 솔루션이 동일합니까?
감사해요.
답변1
기본적으로,동일한 실행 코드로 여러 프로세스를 실행할 수 있습니다.. 이것이 자연스럽게 일어나지 않는다면, 그렇습니다. 프로그램 자체가 그렇게 하도록 만든 것입니다. 그러나 Windows(또는 적어도 Windows와 유사한) 시스템에서 이 작업이 어떻게 수행되는지는 말할 수 없습니다. Linux에서는 주로 .pid
파일을 사용합니다.
exe 파일이 서버로 실행되기 때문인가요?
글쎄, 이것도 마찬가지일 수 있다. 실제로 Emacs에는 이를 허용하는 옵션이 있습니다. 그러나 PDF 뷰어에 대한 요점은 잘 모르겠습니다... Linux 시스템에서는 이를 위해 널리 사용되는 두 가지 솔루션을 생각할 수 있습니다.
- 두 인스턴스의 통신을 허용하는 UNIX 소켓입니다.
- 신호 : 두 번째 인스턴스가 생성되면 첫 번째 인스턴스에 신호를 보냅니다(예:깨우다!) 그리고 종료됩니다.
가장 먼저 확인하고 싶은 사항: 이것이 구성 가능합니까? 예를 들어 VLC에서는 다음과 같이 설정할 수 있습니다(매우 훌륭합니다).
어떤 이유에서인지(실제로는 밝히고 싶지 않지만) 더 이상 Wine을 실행할 수 없습니다. 그러나 가상 머신에서 저는 다음과 같은 내용을 발견했습니다.편집 > 환경설정메뉴:
다음으로 전환 중단일 문서그리고 허용다중 인스턴스이 작은 것을 당신이 찾고 있는 PDF 뷰어로 바꿔야 합니다!
.pid
Linux 시스템에서는 애플리케이션에서 생성된 파일을 가지고 플레이해 볼 수도 있습니다 . 이로 인해 불쾌한 결과가 발생할 수 있지만 응용 프로그램이 시작된 후 파일을 삭제하면 파일 이외의 다른 인스턴스를 찾지 않는 한 새 인스턴스를 속일 수 있습니다 .pid
.
또 다른 해결책은 두 번째 프로그램을 다른 사용자로 실행하는 것입니다. 두 명의 사용자가 동일한 프로세스를 공유할 수 없기 때문에 프로그램을 두 번 시작해야 합니다. 이것은 일부 사람들이 Linux에서 Skype를 두 번 성공적으로 시작하는 방법입니다(많은 노력이 필요하지 않음에도 불구하고).
단일 인스턴스 모드에서 실행되는 애플리케이션에는 그렇게 해야 할 충분한 이유가 있다는 점을 염두에 두어야 합니다. 또한 실제로 필요한 디자인이라기보다는 사용자의 선택에 의한 경우가 대부분입니다.
장점
단 하나의 프로세스만 실행됩니다. 이는 모든 사람을 위한 하나의 메모리 주소 공간을 의미하며, 따라서 기존 프로세스 간의 쉬운 통신이 가능합니다.두 개의 프로세스, 두 개의 인스턴스.
일부 그래픽 프로그램은 매우 자주 실행됩니다. VLC의 예를 들어보겠습니다. 내 Music 디렉토리에서 MP3 파일을 열 때마다 새 창이 생성됩니다! 즉, 3~4분마다 음악이 끝나면 이전 창을 닫고 새 파일을 열어야 합니다. 그것은 편리하지 않습니다. 조금도. 그러나 현재 VLC 인스턴스가 닫히거나 다시 열리지 않고 대기열에 다음 노래를 등록하도록 하는 것은 깔끔합니다.
또 다른 장점: 멋진 비디오 게임과 같이 매우 무거운 애플리케이션의 경우를 생각해 보세요. 이 애플리케이션은 시작하는 데 많은 시간과 리소스가 필요하며 실수로 애플리케이션을 시작하는 것이 얼마나 쉬운지 우리 모두 알고 있습니다. 단일 인스턴스 모드에서 실행되도록 애플리케이션을 설정하면 다시 시작하면 일반적으로 첫 번째 인스턴스가 다시 포그라운드로 돌아옵니다. 많은 게임 개발자들은 사용자가 동시에 여러 계정으로 로그인하는 것을 방지하기 위해 이 기능을 사용합니다.
단점
글쎄, 보시다시피 디자인이 좋지 않은 경향이 있습니다. 실제로 통신이 훨씬 쉬워지기 때문에(프로세스 간 통신, IPC가 필요 없음) 일부 게으른 개발자는 애플리케이션을 항상 단일 인스턴스 상태로 강제하려고 할 수 있습니다. 대부분의 응용 프로그램에서는 실제로 문제가 되지 않지만 PDF 뷰어에서는 이는 터무니없는 일입니다.
실제로 단점은 아니지만 나쁜 시나리오입니다. 이를 옵션으로 제공하지 않는 것입니다. 귀하의 신청서가 아닌 이상정말단일 인스턴스 모드에서 실행해야 하는 경우 항상 사용자가 선택하도록 해야 합니다(또는 방해가 되지 않는 경우 다중 인스턴스를 사용하십시오).
그러나 결국 여기서 가장 큰 관심사는사용자 경험. 이것이 단일 인스턴스 모드가 옵션인 경우가 많은 이유입니다.너프로그램을 사용하세요. 한 달에 1~2개의 비디오 파일만 시청한다면 VLC가 여러 인스턴스에서 실행되는 것에 대해 신경 쓰지 않을 것입니다. 음악을 100% 듣는다면 이 부분에 신경을 쓰게 될 것입니다.NVLC 프로세스n-1비활성 것들.
답변2
일반적으로 그렇지 않습니다. 프로그램이 을 호출하지 않으면 execve
기호 위에 미리 로드하는 코드를 작성하지 않는 한 아무것도 가로챌 기회가 없습니다. 그러나 WINE에서도 작동하는지 잘 모르겠습니다.