Normally I would not bother, but when CHECKDB runs on TempDB it cannot use a snapshot so has to lock all the temp tables. This script will wait for exclusive access for up to a minute.
DECLARE @outcome VARCHAR(50) = 'TempDB is currently too busy for CHECHDB', @endtime DATETIME = DATEADD(mi,1,GETDATE()) WHILE GETDATE() < @endtime BEGIN IF NOT EXISTS (SELECT 1 FROM sys.dm_tran_locks WHERE request_mode = 'X' AND resource_database_id = 2) BEGIN DBCC CheckDB([tempdb]) WITH NO_INFOMSGS; SET @outcome = 'success' BREAK; END WAITFOR DELAY '00:00:01'; END SELECT @outcome