This article presents an integer linear-algebraic algorithm suitable to detect deadlocks of a safe and ordinary Petri net with (or without) inhibitor arcs. A systematic approach is developed for detecting deadlocks and the corresponding degree of firing sequences. The techniques have been applied to distributed execution and workflow-based enterprise areas