It probably would be easier to help you, if you provided any code.
That being said, if "the children don't exist at the start", I assume you instance them from code during runtime. That's where you should connect the signal as well:
var BULLET_SCENE = preload("res://Bullet.tscn")
func spawn_bullet():
var new_bullet = BULLET_SCENE.instance()
new_bullet.connect("fired", self, "_on_fired")
# you can provide an array of extra arguments to the callback
new_bullet.connect("hit", self, "_on_hit", [new_bullet])
add_child(new_bullet)
func _on_fired():
print("BANG BANG BANG")
func _on_hit(bullet):
print("OUCH! Something was hit by ", bullet)