Long story short, the server my node is hosted on locked out of the network, so I had to power cycle it to connect to it again. Since it wasn't a software reboot, Core did not exit gracefully. At first when I tried to start Core again I got errors related to lock files .bitcoin/.lock and ./bitcoin/wallets/.walletlock, which I both deleted. I also deleted .bitcoin/bitcoind.pid in case that was also used as a lock file.
So having done all that when I start bitcoind (0.20.1 on Linux), I get a message in standard output telling me that, understandably, the block data is corrupted, and that to fix it I have to run -reindex or -reindex-chainstate again.
2021-02-13T18:46:38Z init message: Loading block index...
2021-02-13T18:46:38Z Opening LevelDB in /home/redacted/.bitcoin/blocks/index
2021-02-13T18:46:38Z Fatal LevelDB error: IO error: lock /home/redacted/.bitcoin/blocks/index/LOCK: Resource temporarily unavailable
2021-02-13T18:46:38Z You can use -debug=leveldb to get more complete diagnostic messages
2021-02-13T18:46:38Z Fatal LevelDB error: IO error: lock /home/redacted/.bitcoin/blocks/index/LOCK: Resource temporarily unavailable
2021-02-13T18:46:38Z : Error opening block database.
Please restart with -reindex or -reindex-chainstate to recover.
Two questions:
1. Is -reindex-chainstate enough to fix the corrupted block files, or do I have to do a full -reindex? (Bandwidth is not an issue).
2. Is there anything else I need to do to gracefully recover an interrupted bitcoin core?