Straight-forward way to do it is well known and looks like this:
------------------------------------------------------------ sample #1 --------
echo "Try to freeze Cache instance $instance"
rm -f $mydir/db_temp
csession $instance -U%SYS << EOF >/dev/null
zn "%SYS"
set rc=##Class(Backup.General).ExternalFreeze()
set fn="$mydir/db_temp"
o fn:("WNS"):1 if \$t u fn w rc c fn
h
EOF
read rc < db_temp
if [ "$rc" = "1" ]
then
echo "...OK, system is frozen."
else
echo "** Copy ABORTED: freeze rc = $rc"
exit
fi
-----------------------------------------------------------------------------------
Documentation states



