Запуск службы через консоль

202
12 октября 2021, 22:10

Как средствами С# на Linux запустить консоль и выполнить в ней определённую команду (в моём случае это запуск/остановка/проверка статуса службы из /etc/systemd/system)?

Answer 1

Как вариант, использовать .net core и метод Process.Start() из семейства System.Diagnostics.

Например:

using System;
using System.Diagnostics;
    public static class ShellHelper
    {
        public static string Bash(this string cmd)
        {
            var escapedArgs = cmd.Replace("\"", "\\\"");
            var process = new Process()
            {
                StartInfo = new ProcessStartInfo
                {
                    FileName = "/bin/bash",
                    Arguments = $"-c \"{escapedArgs}\"",
                    RedirectStandardOutput = true,
                    UseShellExecute = false,
                    CreateNoWindow = true,
                }
            };
            process.Start();
            string result = process.StandardOutput.ReadToEnd();
            process.WaitForExit();
            return result;
        }
    }

Источник примера

READ ALSO
Неопределенный объект

Неопределенный объект

2 проекта, серверный и клиент, сервер ASPNET Core, Клиент- Angular 8

86
Вызов хранимой процедуры

Вызов хранимой процедуры

Есть код на VBТаблица выводит данные

168
Загрузка файла с именем в mysql при помощи php

Загрузка файла с именем в mysql при помощи php

задача в том, чтоб передать в таблицу имя pdf файла, но при попытке отправить текстовое значение в поле namep поле таблицы не заполняется структура...

74
Как организовать базу данных mysql для почасового бронирования

Как организовать базу данных mysql для почасового бронирования

Помогите правильно организовать базу данных mysql для почасового или получасового бронирования помещениеПомещения открыты для бронирования...

159