Per your 1st paragraph, well my kids don't do that so I can't offer much advice. We don't have eating or food battles.
Per your 3rd paragraph, well I can: I work at my kids' school. I see the kids ALL the time, not eating. Or hardly. Why? Well yes, they do get enough time to eat, but don't. They are to busy chatting or playing around at lunch. Hence, they waste their eating time, then lunch is over, and THEN they complain they have not had time, to eat.
Sure, some teachers/school staff may say that maybe they don't like what they have for home lunch or school lunch, hence the kid is not eating. Okay. But, still, some kids just do not eat. Even if hungry. Then yes, they are a GRUMPY moody child, after that. And after school. Because, they did not eat lunch. They rather play, at lunch time.
Frustrating.
But, some kids are, just grazers. My son is. So is my Husband. They are grazers. So, the "amount" they eat, is according to their body needs. Hungry. Full. And they eat accordingly. They don't eat due to cravings or boredom etc. They graze, when, hungry. Versus my daughter, will eat, a full MEAL... at meal, TIMES. But regardless, we have meal times, we all eat together. And no matter what style of eating me or my kids or Husband have, we eat. Per our, body's quantity needs.
And its not a battle.
Then, when a kid is having growth spurts, they can eat... seemingly all the time. My daughter, will eat even 20 minutes after a full meal. For example, when she is sprouting up. My son too.
I always know, when my kids are in a growth spurt.
All I know is: there are meal "times." People have "meals" 3 times a day. Breakfast/lunch/dinner. That is typically "scheduled." Then in between that, there is snacking or grazing. But grazing is not necessarily "snacking." Not in my son or Husband's case. And we don't have junk food so I really don't care if they are eating aside from "meal" times. Our Pediatrician in fact said, that my kids eat in a healthy manner. Because, they eat according to their body's cues- hunger/fullness. And that's it. They don't eat out of emotional reasons/moods. Eating for them is not an activity, but per their body's cues/needs. And they do not overeat.
After school though, kids typically ARE hungry. And need a snack etc. Because, from the time they had lunch at school, it was hours before school actually ends and they actually get home.
Anyway, its hard.
But I also know many adults, that are hard to feed too.
LOL
But even with adults, we do not have the SAME appetites, every single day. Some days we are always hungry. Some days not.
So eating or quantity eaten or genuine hunger... is not static. Nor the same everyday. Especially for kids.
Hence, it is important as well, for anyone, to learn their body's cues, for hunger and fulness.
On the other hand, there are some kids at school, that will eat and eat and eat. EVEN IF THEY ARE FULL. Why? Well I actually asked them, why. And they tell me, that it is because, they HAVE TO eat, everything for lunch. And it is because, their Mom says they have to. If not they get scolded at home for not eating, EVERYTHING. (their Mom inspects their lunch bag after school). One kid even vomitted all his food at lunch. Because, he was too, full. And those kids who sit there and stuff their mouths and eat ALL their food, are real stressed about it. I see it myself.
Eating this way, is emotional eating, to please another or out of fear that they will get scolded at home.
It is dysfunctional.
Once I told a kid, "are you full?" And he said yes. So I said "why do you keep eating then? You don't look happy..." and he said "My Mommy said I have to eat everything. That's the rule. And if I don't, she gets mad..."
I would never want my kids, to eat that way.