I want to change the mount point of /tmp. However there are several processes keeping it busy. Is there a way to umount without killing those processes? e.g. suspending them etc.
You can do a lazy un-mount (
umount -l), which will detach the mount from
/tmp. You can then mount whatever other filesystem you'd like on
/tmp. Note that the old
/tmp will still be mounted, just not visible (except to those few processes still using it). It'll eventually be unmounted when those processes stop using it. So, e.g., it'd be a bad idea to
mkfs the underlying storage.
Another alternative (if it works, depends on which of your mounts have "shared" propagation) is
mount --move to move the mount to a different directory (e.g.,
mkdir /oldtmp; mount --move /tmp /oldtmp;); then you can again mount a new filesystem on