ここでは, ポートでの入出力を制御するコマンドについて述べる.
ポート制御コマンドは, `コマンド ポート名'の形式で入力する.
ポート名の指定方法は以下に示す通りである.

またポート制御コマンドには, 以下の4つがある.
- D
ポート名- 対象となるポートでのトレースを行なわない (ポートを Disable 状態にする.)
- E
ポート名- 対象となるポートでの表示・入力を再開する (ポートを Enable 状態にする.)
- U
ポート名- 対象となるポートでは表示のみを行ない, 入力待 ちにならない (ポートを Unleash 状態にする.)
- L
ポート名- 対象となるポートでコマンド入力待ちになる (ポートを Leash 状態にする.)
デフォルトでは, 全てのポートが Enable状態, Leash状態である. 各コマンドの使用例を以下に示す.
% subset -t 1 1 CALL:main:main? U redu 1 CALL:main:main? 1 REDU:main:main :- 2 0:+subset(yes,[3,1],[1,3,5],_3) 5 3 1:+io:outstream([print(_3),nl]) 2 CALL:main:subset(yes,[3,1],[1,3,5],_3)? 2 REDU:main:subset(yes,[3,1],[1,3,5],_3) :- 4 0:+member(3,[1,3,5],_11) 5 1:+subset(_11,[1],[1,3,5],_3) 10 4 CALL:main:member(3,[1,3,5],_11)? L redu 4 CALL:main:member(3,[1,3,5],_11)? 4 REDU:main:member(3,[1,3,5],_11) :- 6 0:+member(3,[3,5],_11)? 6 CALL:main:member(3,[3,5],_11)? D call 15 6 CALL:main:member(3,[3,5],_11)? 6 REDU:main:member(3,[3,5],yes)? 5 REDU:main:subset(yes,[1],[1,3,5],_3) :- 7 0:+member(1,[1,3,5],_21) 8 1:+subset(_21,[],[1,3,5],_3)? a 20 yes %
2行目でREDUポートをunleashしているので, 8-10行目のREDUポートでは, ユーザの入力待ちにならない. その後, 11行目でREDUポートをleashしたので, 13行目以降はREDUポートで 入力待ちになった. 15行目でCALLポートをdisableしているので, 以下のトレースではCALLポートの トレースは表示されない.