[C#] 프로젝트 정리 6 - 프로그램 종료 이후 남아 있는 프로세스들 자동 삭제
https://choittolbok.tistory.com/351
[C# / VisualStudio2022] 프로젝트 정리 5 - 프로그램 수정
배포 전 프로그램 실행에는 문제 없지만 거슬리는 것들을 정리 1. 프로그램 실행시 자동으로 켜지는 ChromeDriver 콘솔 창 숨기기 크롬 드라이버에 오류 없이 정상적으로 연결되었다는 콘솔창이지
120ne.xyz
지난 번 작업에 이어 수정해야 할 것들을 기록해본다.
5. 작업관리자에 DB 내부 프로세스 기록이 자꾸 남음

특히나 cub_cas와 같이 cub로 시작하는 이름들은 디비 관련 프로세스이기 때문에 꼭 삭제를 해줘야 한다. 다 쓰고 나서 정상적으로 종료 되지 않으면 계속 남아 있게 되는데.... 분명 close를 잘 썼는데도 불구하고 남아 있다. 이게 계속 남아있게 되면 어떻게 되느냐... 알고 싶지 않았다... 실제로도 사용하는 DB가 과부화?로 인한 connect 에러가 일어나 운영 시간에 끊기게 됐었음.... 흑흑 너무 무서워... 그래서 아래와 같이 처리 하면 됨
KillProcess() 작업관리자에서 매개변수명과 같은 프로세스를 종료시킴
public void KillProcess(string processName)
{
var processes = Process.GetProcessesByName(processName);
foreach (var process in processes)
{
try
{
process.Kill();
process.WaitForExit();
}
catch (Exception ex)
{
SetTextRichText($"Failed to kill process {processName}: {ex.Message}");
}
}
}
아래와 같이 사용하면 됨
// 프로세스 종료
KillProcess("chromedriver");
KillProcess("Google Chrome");
KillProcess("cubridservice");
KillProcess("cub_broker");
KillProcess("cub_master");
KillProcess("cub_cas");
근데...? 시바... 그럼에도 불구하고 계속 남아 있음
확인해보니 관리자권한이 없어서 작업관리자까지 조작할 수 없었다는 결과를 얻었고, 아래와 같이 해결하면 된다.
프로그램 실행파일 우클릭 > 속성 > 호환성

관리자 권한으로 이 프로그램 실행 체크
어찌저찌 폭풍 같은 배포 주간이 지나갔다. 11시, 12시 넘어서 야근하는 날도 있었고 일주일내내 컴퓨터 앞에 앉아서 점심 먹고 화장실 갈 시간 없이 배포와 수정으로 인해 파생되는 오류들을 고객사로부터 확인 받고 수정하고... 나뿐만 아니라 동료분들까지 고생이 이만저만이 아니었는데 이런 과정들을 겪을 때마다 참 익숙해지지 않는 것 같다. 그리고 맘이 너무 쫄려서 기절할 것 같고 실수도 많이 하게 되고... 아무래도 요청들이 한꺼번에 몰리다보니 중간에 빠뜨리는 건들도 많다. 요즘들어 이 일에 대한 회의감도 들고 적성에 참 안 맞는다는 느낌을 지울 수 없다. 취업시장도 난항이라고 하고 AI가 발달하면서 개발자들도 더 보충하지 않으려고 하는 것 같고, 앞으로 뭐해먹고 살지 라는 고민이 들기 시작함... 여러모로 현타가 지대로 온 것 같은데 날이 갈수록 이런 고민이 심해진다. 으아아아ㅏㄱ 일단 여름휴가를 갔다오면 괜찮아지지 않을까? 라는 희망으로 여행 계획을 짜봐야겠다.