Yanıtlar:
Windows NT'de, her iki komut da aynı Hizmet Yöneticisine erişir. Fark, çoğunlukla kullanıcı tarafından görülebilen kısımdadır:
net
daha eski - aslında MS-DOS ve OS / 2 günlerinden.
sc
yalnızca Windows NT ile çıktı (hangi sürümün kullanıldığından emin değilsiniz) .
net
yalnızca hizmetleri başlatabilir, durdurabilir ve duraklatabilir.
sc
daha gelişmiş denetimlere sahip, durumu sorgulayabilir, hizmet yaratabilir ve silebilir, yapılandırma ve güvenliklerini değiştirebilir: sc config beep start= demand
net
sadece yerel olarak çalışır.
sc
ağ üzerinden kullanılabilir: sc \\snow start rpcapd
net
görünen adları kabul eder: net start "Windows Firewall"
sc
her zaman bir servis adı gerektirir: sc start SharedAccess
Grawity'nin cevabı kesinlikle faydalıdır, ancak bu komutlar arasında http://cbfive.com/command-line-service-management-net-v-sc/ adresinde ayrıntılı olarak açıklanan temel bir fark buldum . Özellikle, bu sayfa bu iki komutun zamanlamalarında farklılık gösterdiğini belirtir : "net" eşzamanlı ve "sc" eşzamansızdır.
SC denetimi servise gönderir ve ardından komut istemine geri döner. Bu genellikle SC START'ın hizmeti START_PENDING durumunda döndürmesiyle sonuçlanır. NET START , komut isteminde kontrolü geri göndermeden önce tamamen başlatılmış bir duruma gelmeye başlayan hizmeti bekleyecektir .
...
[L] ike SC START, SC STOP servisin durmasını beklemez ve orada birçok servis durdurma işlemi için sıklıkla STOP_PENDING döndürür. NET STOP ise komut istemine geri dönmeden önce servisin durmasını bekleyecektir .
...
NET ve SC, başarı koşulları olarak gördükleri konusunda farklı fikirlere sahiptir. SC'nin başarılı olup olmadığına karar vermesi sorusu “Hizmete başarılı bir şekilde durma kontrolü gönderdim mi?” Demişti. Olursa, hizmetin durup durmadığına bakmaksızın başarılı durumdan memnun kaldım. NET “Durmaya çalıştığım hizmet, başarılı bir şekilde durduğunu döndürdü mü?” Sorusunu soruyorsa, durumu yerine getirdi. Olmadıysa, nedeni ne olursa olsun, NET başarılı koşulu yerine getiremezse
Ne pahasına olursa olsun, sc start / stop'u net start / stop'tan daha güvenilir buluyorum. Bazen net start / stop, hizmetin Başlatma / Durdurma durumunda kalmasına neden olurken, bu daha önce sc start / stop ile başıma gelmedi. Net start / stop semptomu, servis öldürüldüğünde (görev sırası ile) daha sık meydana gelme eğilimindedir; örneğin, görevden sonra net start ile servise başlamaya çalışmak.
Bir hizmetin OnStart () yordamı çok uzun sürerse NET START
, servise bir stop komutu gönderir ve aşağıdaki hatayı verir:
ServiceName hizmeti başlıyor ........
ServiceName hizmeti başlatılamadı.
Hizmet bir hata bildirmedi.
NET HELPMSG 3534 yazarak daha fazla yardım alabilirsiniz.
Hizmet başarıyla başlatılmış ve durdurulmuş olmasına rağmen bu olur!
Bu yazıyı burada da buldum, ilginç olabilir: Servis başlatılamadı