"&" 관련 백그라운드 프로세스 및 버퍼링 문제

"&" 관련 백그라운드 프로세스 및 버퍼링 문제

이 스크립트를 ~/.bashrc 파일에 작성하고 파일을 받았지만 작동하지 않습니다. 그 목적은 Chrome 브라우저의 jupyter 노트북에서 제공하는 링크를 새 탭에서 여는 것입니다.

chrome(){
        echo $1 # <--- shows that jupfire is sending an empty string
        # I'm using Windows Subsystem for Linux
        "/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe" $1
}

jupfire(){
        jupyter notebook 2>juptemp &
        sleep 3
        chrome "$(tail -1 juptemp | grep http)"
        rm juptemp
}

몇 가지 실패한 방법을 검색하고 시도한 후 이것이 I/O 버퍼링과 관련이 있다는 결론에 도달했습니다. "jupfire" 함수의 첫 번째 줄 뒤의 "&"로 인해 stderr이 juptemp로 플러시되지 않아 빈 문자열이 chrome 함수로 전송될 수 있습니다.

"stdbuf"를 사용해야 할 것 같지만 어떻게 해야 할지 모르겠습니다. 매뉴얼 페이지를 확인하여 다음과 같은 결과를 얻었습니다. stdbuf -e0 jupyter notebook 2>juptemp &jupfire 함수의 첫 번째 줄이지만 여전히 작동하지 않습니다. (명확하게 말하면 "작동하지 않음"이란 빈 주소 표시줄이 있는 Chrome에서 새 탭을 여는 것을 의미합니다.) 버퍼링에 문제가 있는 경우 플러시를 사용하는 올바른 방법을 안내해 주실 수 있나요? 감사해요.

편집: 다음은 "jupyter Notebook" 명령의 출력 예입니다.

...
To access the notebook, open this file in a browser:
    file:///home/mojtabaa/.local/share/jupyter/runtime/nbserver-28353-open.html
Or copy and paste one of these URLs:
    http://localhost:8888/?token=2ead351a97edd97dc5b5fd0aa80b6872af9f9e5c6b9ef10b

관련 정보