Here the steps for changing the hostname in Linux (Redhat / CentOS / Fedora) without rebooting the server
For Suse Linux Enterprise Server Please refer this Article
First you need to find out your current hostname:
Now, Edit /etc/hosts
For example, I need to assign it hostname as ftpsrv.mydomain.com.
To do this, I have edited /etc/hosts as follows.
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
192.168.2.100 ftpsrv.mydomain.com ftpsrv
To change servers hostname to ftpsrv.mydomain.com, change the file as follows.
# cat /etc/sysconfig/network
Now Type the following command in Terminal,
# hostname ftpsrv.mydomain.com
#service syslog restart
Now, You should logout and login back to see the cahnges