This article develops a deadlock prevention policy for a class of generalized Petri nets, namely G‐systems, which can model flexible manufacturing systems with machining, assembly, and disassembly operations. In this research, a polynomial complexity control policy for non‐blocking supervisors is established by properly adjusting resource allocation. First, a set of linear inequality constraints is derived with respect to different resource requirements such that the allocation of the system resources to various requesting processes can be appropriately restricted, that is, the resulting system has no deadlock state by imposing monitors on operation places. Moreover, an algorithm is proposed to identify the redundant constraints such that structurally simple liveness‐enforcing net supervisors can be obtained. Compared with existing polices, the proposed method can usually lead to a suboptimal supervisor with high computational efficiency. Finally, a flexible manufacturing system example is utilized to demonstrate the proposed method.