홈>
"displayname"및 "servicename"이 C # 명령으로 "MySql"이 아닌 경우 어떻게 MySQL 서버가 서비스에 존재하도록 제어 할 수 있습니까?
"ServiceController.GetServices ();"로 제어 할 수 있습니다. "displayname"및 "servicename"이 "MySql"인 경우 해당 이름을 변경하면 해당 mysql 서버가 서비스에 존재하는지 또는 내 컴퓨터에 설치되어 있는지 제어 할 수 없습니까?
C # 명령을 사용하여 컴퓨터에서 mysql 서버를 어떻게 제어 할 수 있습니까?
마이 코드
private void Form1_Load(object sender, EventArgs e)
{
bool sonuc = serviceExists("mysql");
if(sonuc==true)
{
MessageBox.Show("MySQL Exists.");
}
else
{
MessageBox.Show("MySQL doesnt exist.");
}
}
public bool serviceExists(string ServiceName)
{
return ServiceController.GetServices().Any(serviceController => serviceController.ServiceName.Equals(ServiceName));
}
- 답변 # 1
관련 자료
- python - weblogic 서버 상태 제어 스크립트
- phpmyadmin - Microsoft Azure의 App Services"MySql In App"에서 새 계정을 추가하는 방법
- docker - 앱 서버가 네트워크없이 mysql 호스트에 연결하는 방법을 아는 방법
- amazon rds - MySQL 행 A가 존재하면 행 A와 행 B를 선택하십시오
- docker - k8s 클러스터에 배포 된 MySQL 서버에 로그인 할 수 없습니다
- 파이썬을 사용하여 MySQL 서버에서 SQL 스크립트 실행
- 남은 외부 조인이있는 경우 MySQL
- php - QueryException SQLSTATE [HY000] [2002] MySQL 서버에 연결할 수 없습니다
- python - djangodbutilsoperationalerror - (2013, '쿼리 중 mysql 서버 연결이 끊어졌습니다')
- innodb - 특정 구성으로 MySQL 서버를 시작할 수 없습니다
- php - 서버 MySql에 데이터를 삽입 할 수 없습니다 데이터가 로컬로 성공적으로 삽입됩니다
- user interface - 서버 아키텍처 설정, 어떤 유형의 서비스를 사용해야합니까?
- Flask-SQLAlchemy 오류 MySQL 서버가 사라졌습니다
- mysqli_connect 및 PHP 74를 사용하여 MySQL 5336 공유 서버에 연결할 수 없지만 PHP 71을 사용하여 작동하는 이유는 무엇입니까?
- ssrs 2008 - SQL Server 2014 Reporting Services 구성 관리자 충돌
- sql - 원격 네트워크에서 MySQL 서버 80에 연결 (Windows 10)
- foreign keys - mysql 서버가 전체 오류 메시지를 반환하지 않습니다
- c++ - 동일한 데이터베이스에 두 개의 연결을 만들 때 "mysql server has gone away"오류가 발생합니다
- mysql에 레코드가 있는지 확인하십시오
- SQL Server 인스턴스는 서비스가 실행 중임에도 로그인 할 수 없습니다
사실상 아주 쉬워요
먼저 네임 스페이스 System.Diagnostics 코드에서 Process를 사용하여 창을 요청하여 기존 프로세스를 살펴 봅니다.
문제는 MySql이 사용하는 이름이 기본 이름인지 아니면 다른 이름인지에 대한 것입니다. 그렇다면 문제는 몇 개입니까?
아마도 하나의 옵션은 포트를 살펴보고 주어진 네트워크 포트에서 어떤 응용 프로그램이 수신 대기 중인지 확인하는 것입니다. 포트가 직면 한 설치에 대한 자세한 정보를 제공 할 수 있기 때문에 더욱 안정적입니다. .
그래서 내가하는 일은 모든 네트워크 카드의 모든 IP 핸들을 얻고 누가 누구와 대화하고 있는지를 보는 것입니다. 내 코드
이것은 다음과 같은 서명을 가진 클래스를 반환합니다 :
Process.GetProcesses ()에서 반환 된 프로세스 ID와 일치하는 경우 어떤 응용 프로그램이 네트워크에 연결되어 있고 어떤 포트에서 시도하고 있는지 알고 있습니다.
방화벽이 지정된 포트를 차단하여 서비스를 사용할 수 없는지 확인할 수도 있습니다.
마법은 내가 찾은 코드에 있으며, 원래 코드의 일부 메소드가 .net 4.7.X에서 더 이상 사용되지 않기 때문에 약간 업데이트해야했습니다
원본 코드를 어디서 찾았는지 모르겠지만 여기에 내 버전이 있습니다
해피 코딩