
Beim Versuch, einen Monoprozess zu beenden, habe ich ausgeführt ps -aux | grep mono
. Es wurde ein Eintrag angezeigt, der gestern gestartet wurde und vom Benutzer www-data und mit dem Befehl ausgeführt wurde /usr/bin/mono /usr/lib/mono/4.5/xsp4.exe --port 8084 --address 0.0.0.0 --appconfigdir /etc/xsp4 --nonstop
. Basierend darauf ging ich zu localhost:8084 und erhielt einen Fehler:
System.ArgumentOutOfRangeException
startIndex cannot be larger than length of string.
Parameter name: startIndex
Description: HTTP 400.Error processing request.
Details: Non-web exception. Exception origin (name of application or object): mscorlib.
Es wurde erwähnt, dass es auf ASP.NET 4.0 läuft. Ist dieser Vorgang normal? Ich verwende MonoDevelop zur Entwicklung von ASP.NET-Apps, aber das scheint nicht damit zusammenzuhängen, da ich MonoDevelop kürzlich neu gestartet habe.
Antwort1
Wie indiese Antwort von Thomas bei AskUbuntu, es ist ganz einfach, diesen Server zu stoppen oder zu deaktivieren, aber Sie sollten sich überlegen, ob Sie ihn wirklich laufen lassen möchten, bevor Sie das tun. Ich bin auf diese Frage gestoßen, als ich genau dieses Problem auf meiner eigenen Kubuntu 18.04 LTS-Maschine untersucht habe, und sie hat mir geholfen, tiefer zu graben, was es eigentlich war. Es stellte sich heraus, dass es verwendet wird, um zu dienen monodoc-http
, wie ich feststellen konnte, indem ich den Inhalt der in /etc/xsp4
und gefundenen Dateien untersuchte /usr/share/monodoc/web
.
Wenn Sie MonoDevelop oder MonoDoc oder irgendetwas anderes installiert haben, das mit der Code-Entwicklung in Mono zu tun hat, dann stammt es von dort. Wenn Sie das absichtlich getan haben, weil Sie Mono lernen oder darin programmieren, dann möchten Sie diesen Dienst vielleicht tatsächlich ausführen. Wenn Sie die MonoDoc-Dienste nicht brauchen, können Sie sie in Ubuntu-Varianten einfach mit deaktivieren systemctl
.
sudo systemctl stop mono-xsp4.service
wird den Dienst beenden
(aber es wird nicht deaktiviert, alsoWillenach dem nächsten Neustart erneut ausführen).sudo systemctl disable mono-xsp4.service
wird den Dienst deaktivieren
(wird es aber nicht stoppen, wenn es gerade läuft).
Du musst laufenbeideBefehle, wenn Sie den Dienst jetzt tatsächlich stoppen möchten,UndDeaktivieren Sie den Dienst, damit er nach dem nächsten Neustart nicht mehr ausgeführt wird. Wenn Sie sicher sind, dass Sie MonoDoc und verwandte Dienste überhaupt nicht brauchen, können Sie auch in Ihrem Paketmanager danach suchen und sie vollständig deinstallieren.
Warum es eine Ausnahme wirft,DasIch tuenichtweiß. Auf meinem System passiert dasselbe, wenn es direkt in einem Browser aufgerufen wird. Meine beste Vermutung ist, dass wahrscheinlich Parameter übergeben werden müssen, die MonoDoc standardmäßig übergeben würde, sodass ein direkter Besuch in einem Browser nicht funktioniert.nichtgeben? (Jeder, der es genau weiß, kann diese Antwort gerne bearbeiten, um diese Information aufzunehmen, oder mich mit diesen Informationen kontaktieren, damit ich sie aktualisieren kann.)
Notiz: Dies ist eine nahezu exakte Kopie/Einfügung vonMeinAntwort auf dieselbe AskUbuntu-Frage, die ich hier verlinkt habe, da es sich zufällig auch um eine genaue Antwort auf diese Frage hier handelt ...