내 질문은 약간 기술적입니다.
특별한 이유로 mpiexec 후에 vim을 호출해야 합니다.
예:
mpiexec -n 1 vim mytext.txt
그러나 이는 다음과 같은 경고 메시지를 제공합니다.
Vim: Warning: Output is not to a terminal
Vim: Warning: Input is not from a terminal
그런 다음 vim이 부자연스럽게 작동하고, 입력 명령이 편집기에서 잘 해석되지 않으며, 작업이 내가 하는 것만큼 간단하지 않습니다.
vim mytext.txt
mpiexec 후에 vim을 사용할 수 있도록 입력/출력을 시작 터미널로 올바르게 리디렉션하는 방법에 대한 아이디어가 있습니까?
실제로 최종 목표는 특정 프로세스에 대한 병렬 디버깅을 위해 gdb를 사용하고 gdb 내의 vim 편집기를 사용하여 기능을 편집하는 것입니다.
예:
mpiexec -s 1 myprog : gdb myprog
그래서 두 프로세스에서 "myprog" 프로그램을 시작하고, 두 번째 프로세스(예: proc 1)에서 gdb를 사용하고, stdin을 proc 1로 리디렉션합니다(-s 1 [mpiexec -help 참조] 덕분에).
그러나 gdb에서 vim 편집기를 사용하여 함수를 편집하려는 경우 동일한 문제에 직면하게 됩니다.
Vim: Warning: Output is not to a terminal
Vim: Warning: Input is not from a terminal
빠른 해결책은 xterm 창을 시작하는 것이지만 이 접근 방식은 피하고 싶습니다.
mpiexec myprog : xterm -e gdb myprog
당신의 도움을 주셔서 감사합니다.
이것은 내 Linux 배포판입니다.
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
답변1
mpiexec
SSH를 통해 매개변수 프로세스를 시작하면 입력과 출력이 실제로 더 이상 터미널에 연결되지 않습니다. 당신이 원하는 것은 이 트릭입니다:
mpiexec -n 4 xterm -e gdb yourprogram