Определить, когда служба перезапускается? Это можно сделать, проанализировав logcat, вручную или программно. В зависимости от того, что вызывает «сбой», возможны и другие способы ..
Может ли служба узнать себя после перезапуска? Да, через доставленное намерение, полученное в функции onCreate.