If a process has a file open and that file is deleted, the file appears as a broken link in
/proc/PID/fd. That's perfectly normal. A broken link is not in itself an indication that something is wrong.
If a program is keeping a lot of files open but not doing anything with them, that might indicate a bug in the program. Keeping a deleted file open has some uses, but for a log file, it doesn't make any sense, so if those are indeed log files, there's probably a bug in the program. You'll have to contact the program's author to get it fixed (or do it yourself if you have the source).
There's no way to act on the process via
/proc. You can attach a debugger to the process and make it close the files, but the results are not guaranteed. It's like removing the ladder under someone who's climbing onto a roof: they're likely to fall and get badly hurt. If you want to reclaim the disk space, you can truncate the files via
/proc: the shell command
: >/proc/PID/fd/NUMBER will do the trick. If the program keeps writing to the file, this will again start using disk space; a way to avoid that would be to use a debugger to cause the process to
dup2 a file descriptor that's open to
/dev/null, but we're back to results that are not guaranteed.