Как на linux (centos) осуществить запуск/перезапуск процесса?
Есть утилита pidof для Linux, возвращающая id процесса по имени.
Также одной из распространённых практик является сохранение id процесса при его запуске в постоянном файле /var/run/myprogram.pid
Если Centos 7, то процессами управляет SystemD, можно написать для него свой Unit.
Пример обёртки для запуска процесса с сохранением id в файле:#!/bin/bash
/path/to/mono /path/to/server.exe &
echo $! >/var/run/mono_server.pid
Можно зарегать свой сервер как сервис положив скрипт в init.d, и с помощью daemon   из libslack стартить/стопить плюсом будет еще авто-рестарт при падении.