How to get system Hostname in java
Hi,
I am a java developer trying to get the hostname of the system from java class. Meaning want the value when i run the $hostname command in linux and my server is Linux server.
I am searching in the System Properties for the hostname but i could not get it
I am running IBM Websphere 5.2 and JDK 1.4.2 in my linux server.
Thanks for input
-AP
Try
package testing;
import java.net.*;
public class Test
public static void main(String[] args) throws UnknownHostException
System.out.println(InetAddress.getLocalHost().getHostName());
}
Similar Messages
-
How to get system tasks using Java?
I have question about system tasks. I have to list all tasks which are working in the system. Is there any class which i useful to do that? I've tried to write shell script but it won't be working in system different than Linux. I will be grateful for any help.
In the standard Java classes, there are no such implementation. You are sort of answering the question youself, since you've made a script to do it. It is the same for all systems. To get the system information you need to talk to the system and to do that you need to know what system you are on...
Some system functions are more or less the same in all systems so they can be reached by the Systems-class. -
How can i get system variable using java
Hi,
I just want to know how can i get system variables using java code.
for example i want to get the the date for today or i want to get the number of processes that's running.
Thanks alotHi,
I just want to know how can i get system variables
using java code.
for example i want to get the the date for today or i
want to get the number of processes that's running.
Thanks alotSome generic "system variables" are available though Java, usually through the System class.
Date today = new Date();
is instantiated with the current date and time.
Other system values, like environment values, should be passed to java through the command line (-D option) by setting system properties.
Finally, platform specific values like the number of processes running will have to be written in platform specific code and executed by JNI (java native interface).
Java is platform or system agnostic. Common system values, like time, are implemented. Hopefully you won't need platform specific values. -
How to read system evenlog using java program in windows
How to read system evenlog using java program in windows???
is there any java class available to do this ? or any one having sample code for this?
Your friend ZoeWelcome to the Sun forums.
>
How to read system evenlog using java program in windows???>
JNI. (No.)
>
is there any java class available to do this ? or any one having sample code for this?>You will generally get better help around here if you read the documentation, try some sample code and come back with a specific question (hopefully with an SSCCE included).
>
Your friend Zoe>(raised eyebrow) Thank you for sharing that with us.
Note also that one '?' denotes a question, while 2 or more generally denotes a dweeb. -
Hello Sir,
I am Udhaya. I don't know how to capture system idle time using java. Please any one help me how to get system idle time. Any class is available in java to get idle time?
Thank in advance
Udhayajwenting wrote:
DrLaszloJamf wrote:
jwenting wrote:
the moment you ask the system for its idle time that idle time becomes 0, so just returning a constant value of 0 would always yield the correct answer.But when you don't call this constant method the value it would return is wrong. This is the sort of thing that keeps me up at night.Except of course that when you don't call it it doesn't return it and therefore still behaves properly.
Or were you thinking of philosphical problems like "what does a method do when it's not called?"?Actually I was trying to see if I could get the OP to say boo to a goose. -
How to get system temp dir. path on the fly ,system may be XP or Linux ??
How to get system temp dir. path on the fly ,system may be XP or Linux ??
please suggest solutionThe default temporary-file directory can be retrieved
using:
System.getProperty("java.io.tmpdir")
Thanks a lot for u r reply this one works !!!! -
How to get system Environment variable?
How to get system Environment variable without using jni?
just like "JAVA_HOME" or "PATH"...
Any reply is help to me!! :-)Thx for your reply...
I get it!!!
Read environment variables from an application
Start the JVM with the "-D" switch to pass properties to the application and read them with the System.getProperty() method. SET myvar=Hello world
SET myothervar=nothing
java -Dmyvar="%myvar%" -Dmyothervar="%myothervar%" myClass
then in myClass String myvar = System.getProperty("myvar");
String myothervar = System.getProperty("myothervar");
This is useful when using a JAVA program as a CGI.
(DOS bat file acting as a CGI) java -DREQUEST_METHOD="%REQUEST_METHOD%"
-DQUERY_STRING="%QUERY_STRING%"
javaCGI
If you don't know in advance, the name of the variable to be passed to the JVM, then there is no 100% Java way to retrieve them.
NOTE: JDK1.5 provides a way to achieve this, see this HowTo.
One approach (not the easiest one), is to use a JNI call to fetch the variables, see this HowTo.
A more low-tech way, is to launch the appropriate call to the operating system and capture the output. The following snippet puts all environment variables in a Properties class and display the value the TEMP variable. import java.io.*;
import java.util.*;
public class ReadEnv {
public static Properties getEnvVars() throws Throwable {
Process p = null;
Properties envVars = new Properties();
Runtime r = Runtime.getRuntime();
String OS = System.getProperty("os.name").toLowerCase();
// System.out.println(OS);
if (OS.indexOf("windows 9") > -1) {
p = r.exec( "command.com /c set" );
else if ( (OS.indexOf("nt") > -1)
|| (OS.indexOf("windows 2000") > -1 )
|| (OS.indexOf("windows xp") > -1) ) {
// thanks to JuanFran for the xp fix!
p = r.exec( "cmd.exe /c set" );
else {
// our last hope, we assume Unix (thanks to H. Ware for the fix)
p = r.exec( "env" );
BufferedReader br = new BufferedReader
( new InputStreamReader( p.getInputStream() ) );
String line;
while( (line = br.readLine()) != null ) {
int idx = line.indexOf( '=' );
String key = line.substring( 0, idx );
String value = line.substring( idx+1 );
envVars.setProperty( key, value );
// System.out.println( key + " = " + value );
return envVars;
public static void main(String args[]) {
try {
Properties p = ReadEnv.getEnvVars();
System.out.println("the current value of TEMP is : " +
p.getProperty("TEMP"));
catch (Throwable e) {
e.printStackTrace();
Thanks to W.Rijnders for the W2K fix.
An update from Van Ly :
I found that, on Windows 2003 server, the property value for "os.name" is actually "windows 2003." So either that has to be added to the bunch of tests or just relax the comparison strings a bit: else if ( (OS.indexOf("nt") > -1)
|| (OS.indexOf("windows 2000") > -1 )
|| (OS.indexOf("windows 2003") > -1 ) // works but is quite specific to 2003
|| (OS.indexOf("windows xp") > -1) ) {
else if ( (OS.indexOf("nt") > -1)
|| (OS.indexOf("windows 20") > -1 ) // probably is better since no other OS would return "windows" anyway
|| (OS.indexOf("windows xp") > -1) ) {
I started with "windows 200" but thought "what the hell" and made it "windows 20" to lengthen its longivity. You could push it further and use "windows 2," I suppose. The only thing to watch out for is to not overlap with "windows 9."
On Windows, pre-JDK 1.2 JVM has trouble reading the Output stream directly from the SET command, it never returns. Here 2 ways to bypass this behaviour.
First, instead of calling directly the SET command, we use a BAT file, after the SET command we print a known string. Then, in Java, when we read this known string, we exit from loop. [env.bat]
@set
@echo **end
[java]
if (OS.indexOf("windows") > -1) {
p = r.exec( "env.bat" );
while( (line = br.readLine()) != null ) {
if (line.indexOf("**end")>-1) break;
int idx = line.indexOf( '=' );
String key = line.substring( 0, idx );
String value = line.substring( idx+1 );
hash.put( key, value );
System.out.println( key + " = " + value );
The other solution is to send the result of the SET command to file and then read the file from Java. ...
if (OS.indexOf("windows 9") > -1) {
p = r.exec( "command.com /c set > envvar.txt" );
else if ( (OS.indexOf("nt") > -1)
|| (OS.indexOf("windows 2000") > -1
|| (OS.indexOf("windows xp") > -1) ) {
// thanks to JuanFran for the xp fix!
p = r.exec( "cmd.exe /c set > envvar.txt" );
// then read back the file
Properties p = new Properties();
p.load(new FileInputStream("envvar.txt"));
Thanks to JP Daviau
// UNIX
public Properties getEnvironment() throws java.io.IOException {
Properties env = new Properties();
env.load(Runtime.getRuntime().exec("env").getInputStream());
return env;
Properties env = getEnvironment();
String myEnvVar = env.get("MYENV_VAR");
To read only one variable : // NT version , adaptation for other OS is left as an exercise...
Process p = Runtime.getRuntime().exec("cmd.exe /c echo %MYVAR%");
BufferedReader br = new BufferedReader
( new InputStreamReader( p.getInputStream() ) );
String myvar = br.readLine();
System.out.println(myvar);
Java's System properties contains some useful informations about the environment, for example, the TEMP and PATH environment variables (on Windows). public class ShowSome {
public static void main(String args[]){
System.out.println("TEMP : " + System.getProperty("java.io.tmpdir"));
System.out.println("PATH : " + System.getProperty("java.library.path"));
System.out.println("CLASSPATH : " + System.getProperty("java.class.path"));
System.out.println("SYSTEM DIR : " +
System.getProperty("user.home")); // ex. c:\windows on Win9x system
System.out.println("CURRENT DIR: " + System.getProperty("user.dir"));
Here some tips from H. Ware about the PATH on different OS.
PATH is not quite the same as library path. In unixes, they are completely different---the libraries typically have their own directories. System.out.println("the current value of PATH is: {" +
p.getProperty("PATH")+"}");
System.out.println("LIBPATH: {" +
System.getProperty("java.library.path")+"}");
gives the current value of PATH is:
{/home/hware/bin:/usr/local/bin:/usr/xpg4/bin:/opt/SUNWspro/bin:/usr/ccs/bin:
/usr/ucb:/bin:/usr/bin:/home/hware/linux-bin:/usr/openwin/bin/:/usr/games/:
/usr/local/games:/usr/ccs/lib/:/usr/new:/usr/sbin/:/sbin/:/usr/hosts/:
/usr/openwin/lib:/usr/X11/bin:/usr/bin/X11/:/usr/local/bin/X11:
/usr/bin/pbmplus:/usr/etc/:/usr/dt/bin/:/usr/lib:/usr/lib/lp/postscript:
/usr/lib/nis:/usr/share/bin:/usr/share/bin/X11:
/home/hware/work/cdk/main/cdk/../bin:/home/hware/work/cdk/main/cdk/bin:.}
LIBPATH:
{/usr/lib/j2re1.3/lib/i386:/usr/lib/j2re1.3/lib/i386/native_threads:
/usr/lib/j2re1.3/lib/i386/client:/usr/lib/j2sdk1.3/lib/i386:/usr/lib:/lib}
on my linux workstation. (java added all those execpt /lib and /usr/lib). But these two lines aren't the same on window either:
This system is windows nt the current value of PATH is:
{d:\OrbixWeb3.2\bin;D:\jdk1.3\bin;c:\depot\cdk\main\cdk\bin;c:\depot\
cdk\main\cdk\..\bin;d:\OrbixWeb3.2\bin;D:\Program
Files\IBM\GSK\lib;H:\pvcs65\VM\win32\bin;c:\cygnus
\cygwin-b20\H-i586-cygwin32\bin;d:\cfn\bin;D:\orant\bin;C:\WINNT\system32;C:\WINNT;
C:\Program Files\Dell\OpenManage\Resolution Assistant\Common\bin;
d:\Program Files\Symantec\pcAnywhere;
C:\Program Files\Executive Software\DiskeeperServer\;C:\Program Files\Perforce}
LIBPATH:
{D:\jdk1.3\bin;.;C:\WINNT\System32;C:\WINNT;d:\OrbixWeb3.2\bin;D:\jdk1.3\bin;
c:\depot\cdk\main\cdk\bin;c:\depot\cdk\main\cdk\..\bin;
d:\OrbixWeb3.2\bin;D:\Program Files\IBM\GSK\lib;
H:\pvcs65\VM\win32\bin;c:\cygnus\cygwin-b20\H-i586-cygwin32\bin;d:\cfn\bin;
D:\orant\bin;C:\WINNT\system32;
C:\WINNT;C:\Program Files\Dell\OpenManage\ResolutionAssistant\Common\bin;
d:\Program Files\Symantec\pcAnywhere;
C:\Program Files\Executive Software\DiskeeperServer\;C:\Program Files\Perforce} -
How to change system time through java program
Hi
I want to know, how to change system time through java program.
give me a idia with example.
ThanksThere isn't any core Java API for this. Use JNI or call an external process with Runtime.exec().
~ -
How to read system eventlog using java program in windows?
How to read system eventlog using java program in windows?
is there any java class available to do this ? or any one having sample code for this?
Your friend ZoeHi,
There is no java class for reading event log in windows, so we can do one thing we can use windows system 32 VBS script to read the system log .
The output of this command can be read using java program....
we can use java exec for executing this system32 vbs script.
use the below program and pass the command "eventquery"
plz refer cscript,wscript
import java.io.*;
public class CmdExec {
public static void main(String argv[]) {
try {
String line;
Process p = Runtime.getRuntime().exec("Command");
BufferedReader input =
new BufferedReader
(new InputStreamReader(p.getInputStream()));
while ((line = input.readLine()) != null) {
System.out.println(line);
input.close();
catch (Exception err) {
err.printStackTrace();
This sample program will list all the system log information....
Zoe -
How to get System status Check Boxes into Query selection screen
Dear experts,
Pleas help in knowing how to get System status Check Boxes into quick view query (SQVI), selectionscreen.
Regards
Jogeswara Rao
Edited by: K Jogeswara Rao on Jul 6, 2010 7:26 PMProblem solved through other Forum
(Checkboxes not possible, some alternative solution to my requirement found) -
How to get system status and user status ?
how to get system status and user status for the given production order?
In which PP table we can
find these?
Thanks&Regards
SatishHi Ram,
Use the FM "STATUS_READ" to read both the system and user statuses for an Order.
Alternatively, the following tables store the user and system status info:
JSTO- Status object information
JEST- Individual Object Status
Hope this helps.
Let me know if u need further information.
Regards,
Sonal -
How to get system date??
hi,can anybody tell me how to get system date in essbase?? i want to use it in calc script..Ayan
The other thing you could do would be to write a custom macro or function to pull in the date or pass members to to do the comparisonGlenn S.
-
[ASK] How to get system date and substring / concate in data manager dynami
Hello guys.
I want to run package DM with the input have default value.
The selection is look like this :
Dimension : CATEGORY
Source : PLAN_2011
Destination : FORECAST_2011
Dimension : TIME
Source : 2011.JAN,2011.FEB,2011.MAR,2011.APR,2011.MAY,2011.JUN,2011.JUL,2011.AUG,2011.SEP,2011.OCT,2011.NOV,2011.DEC
Destination : <same>
How to get system date year and do the substring / concate ?
So dimension category source will be PLAN_<YYYY>, destination = FORECAST_<YYYY>
Dimension source = <YYYY>.JAN,<YYYY>.FEB,<YYYY>.MAR,<YYYY>.APR,<YYYY>.MAY,<YYYY>.JUN,<YYYY>.JUL,<YYYY>.AUG,<YYYY>.SEP,<YYYY>.OCT,<YYYY>.NOV,<YYYY>.DEC
Depend on year system date.
Thank you.Stuart,How are you storing OnSaleDate. If you are using OnSaleDate as an attribute dimension then you can write a Custom Defined Function to either:1- query your system for the current date and return the number of seconds that have elapsed since 1/1/1970. This is by definition the begining of the Epoch and how Essbase treats Attribute Dimensions of the Date type.public static long getDateInSeconds() { Calendar cal = Calendar.getInstance(); return cal.getTime().getTime()/1000;}2- Write a Custom Defined Function that will accept the OnSaleDate and return the number of days sincepublic static double daysSince(double myDate) { return (getDateInSeconds()-myDate )/86400;}
-
How to get system date and time?
Can someone show me a code on how to get system date and time.
Thanks!there is one really easy way to get system time, the api gives a great example of code on this. use gregorian calendar, which you'll find in the api under GregorianCalendar. You only need to create one instance of GC, ie Calendar time = new GregorianCalendar();
you save seconds, minute and hours into int values, so you don't have to access the system time every second, you can create a thread which adds one to the int second value, if oyu see what i mean, for example, i have saved the hours, minutes and seconds as int values;
int hour, minute, second;
i can then create a thread (Thread thread = new Thread(this) and run it like:
Calendar time;
int hour, minute, second;
Thread thread = null;
public MyTime() {
hour= time.get(Calendar.HOUR_OF_DAY);
minute = time.get(Calendar.MINUTE);
second = time.get(Calendar.SECOND);
if(thread == null) {
thread = new Thread(this);
thread.start();
public void run() {
Thread t = Thread.currentThread();
while(thread == t) {
thread.sleep(1000);
second++;
if(second > 59)
minute++;
if(minute>59)
hour++;
formatTime();
public void formatTime() {
second = (second > 59? 0 : second);
minute = (minute > 59? 0 : minute);
hour = (hour > 23? 0 : hour);
System.out.println(hour+":"+minute+":"+second);
public static void main(String[] args) {
new MyTime();
I know this looks like gibberish but it should work. If not, try to fix the problem, i have written from memory really but i guarantee you, this gets the time then every second, simply adds one to the second and then formats time. You can also access the day, month and year then format them using the above code. I don't like giving code since you should really do these things yourself but it is 2:04am, i have nothing better to do and i am not tired so i did you a favour - i have become what i always did not want to, someone ho stays upall night writing code. -
RMAN to disk script - how to get the hostname into the directory?
I see you can get the Oracle SID in there but how to get the hostname?
We have a NFS device where the directory is
/backups/<hostname>/rman
Ideas?
This is not a unix script, ideally its run thru OEM.You never mentioned a version.
Version is always important.
From 9i and higher you don't need to allocate a channel, and you can CONFIGURE the default channels.
You can also include a format specifier in the configuration command.
This needs to be done only once.
Apart from that: with that number of databases one would probably create a catalog and work with stored scripts, which can be called from a generic RMAN job.
Stating 'it isn't possible' is too early, especially as you are scarce on information.
Sybrand Bakker
Senior Oracle DBA
Maybe you are looking for
-
LSO: Business Event Appraisal
Hi, We have already implemented LSO.Now we are planning to configure Appraisal for a Business Event. Please do share any docs related to the configuration Thanks in advance. Regards, Deb
-
Permissions on Document Lib.
I have one site collections with one site, under this site collection there are 160 document library with unique permissions and about 180 people access these libraries. while all lib's are not shown to users because they do not have permission , t
-
How to implement for sap system use HADR
hi expert , i am a newbie to sap basis, we have a requirement that do HA for our sap using HADR,i want know if there are some good sulotion for my scenario. our scenaro is we have two window 2008 sever host,one host has a sap system and we
-
Is a TSU NOTIFICATION sufficient for encryption documentation?
I'm using an open source library for my encryption. Can I just upload my TSU NOTIFICATION as proof that I've notified BSI / NSA for the encryption documentation?
-
How to compile using J2ME Wireless Toolkit?
Hello! i'm doing a bluetooth application and i just want to ask how to compile using J2ME Wireless Toolkit? Is it the "Build" button? thanks!