Witam, próbuję napisać usługę systemową, która przy wyłączaniu komputera uruchomi program do BackUp-u, lecz napotkałem pewien problem. Gdy komputer jest wyłączany program do BackUp-u jest uruchamiany, lecz za każdym razem nie wykonuje on do końca swego zadania (za każdym razem inny czas działania), system na siłę przerywa jego działanie i wyłącza komputer. Próbuję użyć polecenia : Process.Start("shutdown", "-a"); aby zatrzymać wyłączanie komputera, wykonać BackUp i potem zamknąć system, lecz nie chce to działać. Po niżej jest kod mojego programu. Bardzo proszę o pomoc w rozwiązaniu tego problemu.

 
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.IO;

namespace backUp_ser
{
    public partial class Service1 : ServiceBase
    {
        public Service1()
        {
            InitializeComponent();
            this.CanShutdown = true;
        }

        protected override void OnStart(string[] args)
        {

        }

        protected override void OnStop()
        {

        }

        protected override void OnShutdown()
        {
            Process.Start("shutdown", "-a");

            ProcessStartInfo stratInfo = new ProcessStartInfo();
            stratInfo.WindowStyle = ProcessWindowStyle.Hidden;
            stratInfo.FileName = "C:\\Program Files\\Cobian Backup 10\\Cobian.exe";
            stratInfo.Arguments = "list:C:\\Program Files\\Cobian Backup 10\\DB\\MainList.lst -bu -nogui -autoclose";

            using (Process process = Process.Start(stratInfo))
            {
                process.WaitForExit();

            }
            Process.Start("shutdown", "-s -t 10");
        }
    }
}
```csharp