이 페이지 에서 제안한 두 번째 방법 에서 bash가 다음 명령으로 실행되는 tty를 얻습니다.
ps ax | grep $$ | awk '{ print $2 }'
나는 확실히 이것이 조금 게으 르며, 실행중인 모든 프로세스를 나열하여 그중 하나를 추출합니다. 더 효율적이지 않을까요 (원치 않는 효과가 있는지 묻습니다) :
ps -p $$ | tail -n 1 | awk '{ print $2 }'
참고로, 때로는 첫 번째 명령이 실제로 두 개 이상의 줄을 생성하기 때문에이 문제를 겪었습니다. $$
하위 문자열로 포함 된 PID로 실행중인 다른 프로세스가있을 때 무작위로 발생 합니다. 두 번째 접근법에서는 원하는 PID를 요청하여 이러한 경우를 피하고 있습니다.
tty
bash 세션 내 에서 명령을 실행하는 것 입니다. 당신은 사용을 주장하는 경우ps
-ps -p $$ -o tty=