i have application which need eth0 ready, and how can I make the application run after eth0 ready?
I don’t think there is a way to wait on a particular interface. However, system daemons packaged as snaps will have
network-online.target as a prerequisite. If
eth0 is the primary network adapter for your device/system, then this should ensure it starts after the interface is ready.
Alternatively, if you use socket activation your daemon will be started on the first attempt by a client to connect to it. Unless this is a connection from localhost, this should also indicate that the external network interface is up.
If you are writing an app rather than a daemon, then you don’t have this control: your app will be run whenever the user invokes it.