홈>
새로운 프로세스로 proc을 실행하려고합니다. main 함수에서 proc1 및 proc2를 호출하려고하지만 각각 새 프로세스 (또는 하위 프로세스)와 별도로 실행하고 완료 될 때까지 기다려야합니다
proc main { var } {
puts "main function with var: $var"
#call proc1 with new process
exec proc1 1
#wait till proc1 finish
#call proc2 with new process
exec proc2 2
#wait till proc2 finish
puts "Finished"
}
proc proc1 { var1 } {
puts "proc1 function with var: $var1"
}
proc proc2 { var2 } {
puts "proc2 function with var: $var2"
}
exec를 사용해 보았지만 작동하지 않았습니다. 인터넷 검색을 시도했지만 해결책을 찾지 못했습니다
어떻게 실행할 수 있습니까?
정말 감사합니다!
- 답변 # 1
관련 자료
- python - 동일한 열이있는 데이터로 새 열 만들기
- Java에서 sunutilcaldenderZoneInfo를 새 API로 바꾸는 방법
- -v 플래그로 Python의 unittestTestSuite ()를 실행하는 방법은 무엇입니까?
- c# - 키 목록을 사용하여 새 사전 초기화
- 플라스크로 RASA 실행
- git - 새 브랜치를 만들 때 작업 실행
- shell - sh 또는 bash로 스크립트 실행
- python - 다른 목록의 요소로 새 목록을 채우는 방법
- node.js - API 호출로 새로운 데이터베이스 생성
- node.js - 노드 js로 파이썬 프로그램을 실행하는 방법
- python - crontab으로 fabfile 실행
- 파이썬으로 파일을 다운로드하려면 URL을 실행하십시오
- node.js - 이 기능으로 기능을 실행하는 방법
- c# - 새로운 SQL 데이터로 ReportViewer 새로 고침
- javascript - Bing Maps를 올바르게 실행할 수 없습니다
- java - gradle 작업으로 shadow jar를 실행하는 방법은 무엇입니까?
- python - 전체 경로로 실행되는 Mac 하위 프로세스가 작동하지 않음
- python - 목록에서 값을 가진 새로운 df 생성
- swing - GUI가있는 Java가 실행되지 않습니다
- jquery와 javascript로 새로운 div 추가
가장 간단한 메커니즘은 프로 시저를 별도의 파일에 넣는 것입니다 (예 :
myprocs.tcl
)를 파일의끝에 다음과 같은 추가 코드로 추가하십시오.그러면 다음 도우미를 사용하여 해당 절차를 호출합니다.
<시간> 그러나 위의 방법이 가장 강력한 메커니즘은 아닙니다. 특히, 절차에 버그가 있으면 상황이 상당히 나빠질 것입니다. 다음은 프로 시저를return
로 변경 한 경우 매우 잘 작동하는보다 강력한 메커니즘입니다.puts
대신 결과 ing :캘리 쪽 :
발신자 쪽 :
정규
stdout
전송 동시에 또는 하위 프로세스가 호출자의stdin
에 액세스하도록 허용 , 명령 및 제어 채널을 표준 파이프가 아닌 다른 채널로 옮기려면 더 많은 작업이 필요하며 위의 내용은 많은 것들에 충분합니다.