아래 뜨는 Download 나 PC App Store는 모두의 프린터와 상관없는 광고입니다!!
특히 PC App Store는 악성 소프트웨어이니 절대 클릭하지 마세요!!
모두의 프린터는 어떠한 경우에도 본인인증, 회원가입, 카드결제를 요구하지 않습니다.
다운로드를 유도하는 애드센스 광고를 피로곰이 배포하는 프로그램들의 다운로드 링크로 착각하지 않도록 주의하시기 바랍니다. 피로곰이 배포하는 모든 프로그램은 본인인증, 회원가입, 이용료 결제 없이 무료로 사용가능합니다.
많이 찾는 글들...
  1. MS윈도 디펜더(바이러스 백신) 예외설정 방법
  2. ghostscript 실행파일 경로가 지정되어 있지 않아서 변환할 수 없습니다.
  3. PC App Store 제거 방법
  4. Ghostscript/GhostPCL 설치 안내
  5. 파일 다운로드가 차단되는 경우
  6. 내 컴퓨터의 32비트,64비트 여부 아는법
  7. 'Windows의 PC 보호' 문제
  8. 모두의 프린터 실행후 환경설정창 뜨지 않고 무반응
  9. Ghostscript PDF변환 불가. Can't load Ghostscript DLL
  10. 대법원 인터넷 등기소, 전자소송, 경매,전자공탁등 대법원계열 사이트관련
  11. 모두의 프린터 사용후 네트워크 장애가 발생하는경우. (대법원 인터넷등기소 등)
  12. 출력시 모두의 프린터가 강제종료 되는 경우.'지원하지 않는 PDF또는 가상 프린터입니다.'
  13. 오픽(OPic), 연결상태 확인 불가 프린터, 등록되지 않은 프린터(MarkAny e-PageSAFER)
  14. YBM 토익성적표 관련(정상적인 프린터로 출력을 진행하시기 바랍니다)
  15. 리포트뷰어(ReportViewer) 관련(특수목적프린터, 문서변환 프로그램을 제거해주세요)
  16. 인터넷증명발급센터 서트피아(Certpia) 관련 안내
  17. 인강사이트 관련 - 출력에 매우 오래 걸림, PDF파일 버벅거림, PDF여는데 오래걸림 등등
  18. '잘못된 프린터 데이터를 수신하였습니다.' 문제
  19. MS서피스, 삼성 갤럭시북 등 ARM기반 랩탑, '잘못된 프린터 데이터를 수신하였습니다.' 문제

외부 명령 실행하기( feat exec.Command )

프로그래밍 하다보면 .. command line 명령으로 외부 파일을 실행해야할때가 있습니다. 그런때 exe.Command 를 사용하는데요 약간의 추가적인 부분 몇가지를 적어봅니다.

Go
/**
*	execCommandStart
**/
func execCommandStart(name string, arg ...string) error {
	cmd := exec.Command(name, arg...)
	err := cmd.Start()
	return err
}

/**
*	execCommandRun
**/
func execCommandRun(name string, arg ...string) error {
	cmd := exec.Command(name, arg...)
	err := cmd.Run()
	return err
}

/**
*	execCommandOutput
**/
func execCommandOutput(name string, arg ...string) (string, error) {
	cmd := exec.Command(name, arg...)
	output, err := cmd.CombinedOutput()
	return string(output), err
}

기본적으로 exec.Command 에 보통 많이 쓰는게 Run , Start 인데요 이 둘의 차이점은 Run 은 실행시킨 왜부 파일의 실행이 종료 될때까지 리턴되지 않습니다. Start 는 종료 여부 상관없이 바로 리턴됩니다.

execCommandOutput 함수는 .. 실행한 외부명령이 출력하는 데이터를 받아줍니다.

한가지 추가적인 팁을 주자면 ..

Go
/**
*	execCommandStart
**/
func execCommandStart(name string, arg ...string) error {
	cmd := exec.Command(name, arg...)

	cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true}
	
    err := cmd.Start()
	return err
}

/**
*	execCommandRun
**/
func execCommandRun(name string, arg ...string) error {
	cmd := exec.Command(name, arg...)

	cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true}
	
    err := cmd.Run()
	return err
}

/**
*	execCommandOutput
**/
func execCommandOutput(name string, arg ...string) (string, error) {
	cmd := exec.Command(name, arg...)

	cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true}
    
	output, err := cmd.CombinedOutput()
	return string(output), err
}

콘솔모드 프로그램을 실행시 검은 콘솔창이 뜨는것이 싫으시면 

Go
cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true}

이렇게 속성을 추가로 지정하시면 됩니다. HideWindow 는 Go로 윈도용 프로그램을 만들때만 해당됩니다. 다른 OS는 상관 없습니다.

마지막으로 .. 윈도의 기본 실행파일들.. 예를들어 ipconfig 라던지 net 같은 명령어들을 사용할 경우에 보통 Path 로 환경변수가 잡혀 있어야 하지만 .. 이 부분이 손상(?) 된 경우에 실행파일을 찾을 수 없게 됩니다. 이런 경우를 대비하자면 이 함수들에서 외부 명령 실행시에 직접적으로 환경변수 지정이 가능합니다.

Go
/**
*	execCommandStart
**/
func execCommandStart(name string, arg ...string) error {
	cmd := exec.Command(name, arg...)
	cmd.Env = append(os.Environ(), "Path=C:\\Windows\\system32;C:\\Windows")

	cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true}
	err := cmd.Start()
	return err
}

/**
*	execCommandRun
**/
func execCommandRun(name string, arg ...string) error {
	cmd := exec.Command(name, arg...)
	cmd.Env = append(os.Environ(), "Path=C:\\Windows\\system32;C:\\Windows")

	cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true}
	err := cmd.Run()
	return err
}

/**
*	execCommandOutput
**/
func execCommandOutput(name string, arg ...string) (string, error) {
	cmd := exec.Command(name, arg...)
	cmd.Env = append(os.Environ(), "Path=C:\\Windows\\system32;C:\\Windows")

	cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true}
	output, err := cmd.CombinedOutput()
	return string(output), err
}

Env 값에 기본 환경변수에 추가하여 추가적으로 Windows\System32, Windows 폴더를 지정했습니다. 필요에 따라 변형해 사용하시면 됩니다.

많이 찾는 글들...
  1. MS윈도 디펜더(바이러스 백신) 예외설정 방법
  2. ghostscript 실행파일 경로가 지정되어 있지 않아서 변환할 수 없습니다.
  3. PC App Store 제거 방법
  4. Ghostscript/GhostPCL 설치 안내
  5. 파일 다운로드가 차단되는 경우
  6. 내 컴퓨터의 32비트,64비트 여부 아는법
  7. 'Windows의 PC 보호' 문제
  8. 모두의 프린터 실행후 환경설정창 뜨지 않고 무반응
  9. Ghostscript PDF변환 불가. Can't load Ghostscript DLL
  10. 대법원 인터넷 등기소, 전자소송, 경매,전자공탁등 대법원계열 사이트관련
  11. 모두의 프린터 사용후 네트워크 장애가 발생하는경우. (대법원 인터넷등기소 등)
  12. 출력시 모두의 프린터가 강제종료 되는 경우.'지원하지 않는 PDF또는 가상 프린터입니다.'
  13. 오픽(OPic), 연결상태 확인 불가 프린터, 등록되지 않은 프린터(MarkAny e-PageSAFER)
  14. YBM 토익성적표 관련(정상적인 프린터로 출력을 진행하시기 바랍니다)
  15. 리포트뷰어(ReportViewer) 관련(특수목적프린터, 문서변환 프로그램을 제거해주세요)
  16. 인터넷증명발급센터 서트피아(Certpia) 관련 안내
  17. 인강사이트 관련 - 출력에 매우 오래 걸림, PDF파일 버벅거림, PDF여는데 오래걸림 등등
  18. '잘못된 프린터 데이터를 수신하였습니다.' 문제
  19. MS서피스, 삼성 갤럭시북 등 ARM기반 랩탑, '잘못된 프린터 데이터를 수신하였습니다.' 문제

모두의프린터에서 더 알아보기

지금 구독하여 계속 읽고 전체 아카이브에 액세스하세요.

계속 읽기