TL;DR is: Those options cannot work together. Below is why, after some research.
latexmk man page documentation has the following:
In its new version, latexmk has a highly
general and efficient solution, ... and a
symptom is that latexmk generates an extra
file (with extension .fdb_latexmk, by default)
that contains the source file information.
Now regarding the
Clean up (remove) all regeneratable files
generated by latex and bibtex or biber except
dvi, postscript and pdf. These files are a
combination of log files, aux files, latexmk's
database file of source file information, and
those with extensions specified in the
@generated_exts configuration variable. In
addition, files specified by the $clean_ext
configuration variable are removed.
When I ran
latexmk -pdf -pvc -c file, after having generated a clean and make via
latexmk -pdf -pvc -gg file, the
-c option caused all the generated files, including file.fdb_latexmk, to be deleted, save
file.pdf and the original `file.tex'.
Now, here's the rub:
file.fdb_latexmk contains a fair bit of info on what files were generated, what packages were loaded, and so on, as well as hashes of the files, including the source. One cannot simply
touch file.tex and trigger a remake (as one might do with
make). One must alter the file so that the hash changes. So if you delete the file with the hashes on all the generated files, then
latexmk will enter a state in which it is "done" and it either halts on control-c or returns to the shell prompt.
In short, one cannot delete the file information database and the other generated files, expecting
latexmk to work with similar jiggery-pokery as GNU make might. The shell script by @user5325 has a very different expectation of what "being modified" means than
touch file.tex will trigger it, making it run
latexmk, which then will not always work properly (if at all) and generate undocumented behavior like waiting on conditions that will never happen and necessitating a control-c.