If you're talking about CentOS 6.x or older, then service dhcpd stop runs sh /etc/init.d/dhcpd stop, which ends up running kill <PID of dhcpd>.
If CentOS 7.x, then service dhcpd stop runs systemctl stop dhcpd, which will tell systemd to do the actual stopping.
If dhcpd.service is a native systemd service file, then systemd will do the killing, probably by just making a kill(<PID of dhcpd>, SIGTERM) system call unless a specific ExecStop= command is specified in the service file or it does not successfully stop all the processes belonging to the control group created by systemd for the service. See man systemd.kill for more details and options for variations.
If it's an auto-generated wrapper for a legacy SysVinit start/stop script, then systemd will run sh /etc/init.d/dhcpd stop, much like older CentOS versions did.
You commented that you're using CentOS 7.3 - so systemd is involved.
If you configure dhcpd to serve multiple network interfaces with a single instance of dhcpd, then shutting down dhcpd will obviously end DHCP service on all interfaces at the same time.
If you want to start multiple instances of dhcpd (one for each interface), then you can just kill the dhcpd process associated with the interface whose DHCP service you wish to stop.
To make management easier, you could write your own custom .service files for dhcpd and place them into /etc/systemd/system to start/stop each of the multiple instances of dhcpd. Then you could use ''service dhcpd-ge1 start'' etc. according to how you choose to name the .service files. See /lib/systemd/system/dhcpd.service on your system for an example, and adjust the command line arguments in the ExecStart= line to suit your needs for each instance.