파이썬에서 터미널 stdin을 납치하는 방법이 있습니까? 유닉스 전용 솔루션이 잘 될 것이다.파이썬에서 터미널 stdin을 납치
현재 이름이 지정된 프로세스를 모니터링 할 수 있도록 top
주변에 작은 래퍼를 작성하고 있습니다. 모든 실행중인 파이썬 인스턴스. 기본적으로 pgrep
을 호출하여 프로세스 ID를 얻은 다음 -p
옵션을 사용하여 top
을 실행합니다.
전반적으로이 스크립트는 몇 년 동안 만족스럽게 작동했습니다 (top -p
은 20 개의 ID 만 허용합니다 ...). 그러나 이름 패턴과 일치하는 새 프로세스가 생성되면 호출을 맨 위로 업데이트하도록 스크립트를 조정하고 싶습니다. 이것도 비교적 잘 작동하지만 ... top
에서 대화식으로 설정된 옵션은 pid 목록을 업데이트 할 때마다 손실되지만, 자연스러운 원인으로 인해서 top
을 중지했다가 다시 시작합니다. 따라서 나는 어떻게 든 설정이 영향을 미치도록 되돌릴 수 있도록 터미널 표준 입력을 납치하고 pid-list를 업데이트 한 후에 적절하게 설정할 수 있도록하거나 심지어 필요한 경우 업데이트를 중단합니다 (예 : 맨 위가 더 많은 지침을 기다리는 경우). 사용자).
이제 아마 내가 무엇을 달성하기 위해 노력하고있어 그냥 바보이고 내가보기 엔
가 (오. 태그ps
이
top
가하는 태그로 사용 된 깨달음 감사하겠습니다 그렇다면 그것을 할 수있는 더 나은 방법이있다 하지가 존재하는 경우에, 나는 모든이 유틸리티는 관련이 후 해킹의 비트처럼 소리를 뭐), P
나는 문제가이 구문 분석하는 데 문제가 있습니다. 어떤 대화식 옵션에 대해 이야기하고 있습니까? "백 트랙"이 무슨 뜻인지 잘 모르겠습니다. stdin을 통해 보내려하는 것은 무엇입니까? 아마도 당신이하고있는 일의 기록을 게시할까요? psutil https://pypi.python.org/pypi/psutil을 확인하십시오 – RobertB
안녕하세요, 로버트입니다. 아마'top'의 맨 페이지에서 그걸 읽지 않으려 고합니다. – cpaitor
정말요? 나는 정상에 익숙하다. 나는 단지 당신의 글을 읽으 려하고 있는데 혼란 스럽다. – RobertB