Identify running processes using snmp
Hi there,
is there any way to identify running processes name
using snmp and what mib should I use?
if yes, is this mib part of the default snmp provided by sun or should it be installed in addition to the default snmp?
Thanks,
Adi.
You don't need accounts on the systems you are managing. All you would need is the read-only SNMP community string and a good knowledge of SNMP. As an example, my Solaris 10 system..
# snmpwalk -Os -c public -v 1 localhost hrSWRunName
produces a list of processes. Lets pick a couple as the output can be lengthy.
hrSWRunName.550 = STRING: "nmbd"
hrSWRunName.556 = STRING: "sh"
hrSWRunName.581 = STRING: "mysqld"
If the processes change the PID, you will need to look for them assuming they are running all the time.
What you could do is run the above command and grep for your process. Lets say I am interested in mysqld..
bash-3.00# snmpwalk -Os -c public -v 1 localhost hrSWRunName | grep mysqld
hrSWRunName.581 = STRING: "mysqld"
You can see it is in the output and on a side note, look at the number 581.
bash-3.00# ps -ef | grep 581
mysql 581 556 0 17:10:56 ? 0:02 /usr/sfw/sbin/mysqld basedir=/usr/sfw datadir=/var/mysql user=mysql pid
Its the PID of the process.
If you want more info and are willing to give your system a bit of work to do.. (but not really recommended)
bash-3.00# snmpwalk -Os -c public -v 1 localhost | grep ".581"
hrSWRunIndex.581 = INTEGER: 581
hrSWRunName.581 = STRING: "mysqld"
hrSWRunID.581 = OID: zeroDotZero
hrSWRunPath.581 = STRING: "/usr/sfw/sbin/mysqld"
hrSWRunParameters.581 = STRING: "--basedir=/usr/sfw --datadir=/var/mysql --user=mysql --pid"
hrSWRunParameters.812 = STRING: ".581"
hrSWRunType.581 = INTEGER: application(4)
hrSWRunStatus.581 = INTEGER: runnable(2)
hrSWRunPerfCPU.581 = INTEGER: 190
hrSWRunPerfMem.581 = INTEGER: 14172 KBytes
hrSWInstalledIndex.581 = INTEGER: 581
hrSWInstalledName.581 = STRING: "SUNWmddr"
hrSWInstalledID.581 = OID: zeroDotZero
hrSWInstalledType.581 = INTEGER: operatingSystem(2)
hrSWInstalledDate.581 = STRING: 2005-3-19,11:15:30.0,+11:0
Without holding your hand too much, I am sure you can see where I am going.
localhost can be any system running the snmp daemon. All you need is the read only community string.
Cheers
Stephen
Similar Messages
-
Monitor ETL process using SNMP
Hi,
I have an ETL process that runs continuously and add lines to a table under Oracle 11g on Linux. I would like to monitor the proper operation of the ETL using an external SNMP manager (eg Zabbix). To do this the algorithm would be like this:
- List and count lines that have been to the table durig the last n minutes;
- Update an SNMP counter
- Repeat every n minutes.
I was thinking about creating a small Perl subagent for net-snmp that would execute an SQL query using JDBC, but is there a better way to do this? For instance by using an OraI assume you're talking about scripting this? Probably the easiest thing to do would be to use Curl. I've attached an example. You'll need to change a couple values for it to work.
The output is different than what you'd get if you did a "df" using the service account. You'll have to decide which output you require. -
Long running processes using a lot of CPU
Hi all,
We have a clustered environment and on both the DB nodes there are processes that is taking a lot of CPU and runs a really long time. The load of the servers get really high and performance degrades drastically.
I've traced the processes and the module is usually a combination of the following:
icx.por.rcv.server.ReceiveItemsAM
icx.por.reqmgmt.server.ReqMgmtAM
I know it has something to do with Purchase Orders.
Can someone please give me more info on this processes and what I can do about them?
Thanks in advance...Step by Step to fix your Mac
They will just say it's a software problem you need to fix most likely.
However if you have exhausted your software fixes and/or Hardware Test gives something, it could be a hardware problem, but likely it's software for what your mentioning. -
Context when Invoking Long Running Processes
When I use a long running process to invoke another long running process, the creator of the second long running process is always "System Context Account".
Is it possible to invoke one long running process using another long running process using the context of the workspace user? The primary need here is to be able to track the process in the audit tab.Hi gary,
Thanks for the update.
I have just tried your "Run As" approach which is also not working.
My testing scenario:
I have created two processes (a Parent and a Child)
I have enabled RunAs option with 'Invoker' for the Child process.The parent process is configured to invoke the Child internally.
I am, as a user, invoking the Parent process from Workspace. The Child process is being invoked; However, the process's creator name still shows 'System Context Account'. I do remember that this issues was exist in previous release as well ES (8.0).
Is this a bug? or am I missing something in between?
Please advise.
Thanks,
Nith -
Can I get a List of all the running processes in the system using java ?
I want a complete list of all the Running processes currently in the system.
List of running processes is like, in MS Window environment while we presses ctrl + alt + del and we get a small window containing a list of all the running processes currently in system.
I hope somebody have done the same and will help me.
thanx.Here is the sample code to get All running process in your system .
Its in C++.And you have use JNI to use this code.
For complete project goto
http://www.mindcracker.com/mindcracker/c_cafe/winapi/protracker.asp
typedef BOOL (WINAPI * PFNENUMPROCESSES)(
DWORD * lpidProcess,
DWORD cb,
DWORD * cbNeeded
typedef BOOL (WINAPI * PFNENUMPROCESSMODULES)(
HANDLE hProcess,
HMODULE *lphModule,
DWORD cb,
LPDWORD lpcbNeeded
typedef DWORD (WINAPI * PFNGETMODULEFILENAMEEXA)(
HANDLE hProcess,
HMODULE hModule,
LPSTR lpFilename,
DWORD nSize
//unsigned int i;
static HMODULE hModPSAPI = 0;
static PFNENUMPROCESSES EnumProcesses = 0;
static PFNENUMPROCESSMODULES EnumProcessModules = 0;
static PFNGETMODULEFILENAMEEXA GetModuleFileNameExA = 0;
if ( !hModPSAPI )
hModPSAPI = LoadLibrary( "PSAPI.DLL" );
if ( !hModPSAPI )
return FALSE ;
EnumProcesses = (PFNENUMPROCESSES)
GetProcAddress( hModPSAPI,"EnumProcesses" );
EnumProcessModules = (PFNENUMPROCESSMODULES)
GetProcAddress( hModPSAPI, "EnumProcessModules" );
GetModuleFileNameExA = (PFNGETMODULEFILENAMEEXA)
GetProcAddress( hModPSAPI, "GetModuleFileNameExA" );
if ( !EnumProcesses
|| !EnumProcessModules
|| !GetModuleFileNameExA )
return FALSE;
LV_ITEM lvi;
CString str, str1;
if ( !EnumProcesses( aProcesses, sizeof(aProcesses), &cbNeeded ) )
return FALSE;
cProcesses = cbNeeded / sizeof(DWORD);
char szProcessName[MAX_PATH] = "unknown";
for ( int i = 0; i < cProcesses; i++ )
HANDLE hProcess = OpenProcess( PROCESS_QUERY_INFORMATION |
PROCESS_VM_READ, FALSE, aProcesses);
if ( hProcess )
HMODULE hMod;
DWORD cbNeeded;
if ( EnumProcessModules( hProcess, &hMod, sizeof(hMod), &cbNeeded) )
GetModuleFileNameExA( hProcess, hMod, szProcessName,
sizeof(szProcessName) );
str = szProcessName ;
str1.Format(": %d ", hProcess );
str += str1 ;
m_list.AddString ( str );
UpdateData(TRUE );
CloseHandle( hProcess ); -
How to kill Forms Runaway Process using 95% CPU and running for 2 hours.
We had a situation at E-Business Suite customer (using Oracle VM server) where some of Form processes were not being cleared by form timeout settings automatically.
Also when user exits the form session from front end, the linux form process (PID) and DB session did not exit properly, so they got hung.
They were spiking CPU and memory usage and causing e-business suite to perform slowely and ultimately causing VM host to reboot the production VM guest (running on Linux).
We could see the form processes (PIDs) using almost 100% cpu with "top" command and running for a long time.
Also we verified those Form Sessions did not exist in the application itself.
ie. Using from Grid Control -> OAM-> Site Map -> Monitoring (tab) -> "Form Sessions".
It means that we could safely kill that form process from Linux using "kill -9 <PID>" command.
But that required a continuous monitoring and manual DBA intervention as customer is 24x7 customer.
So, I wrote a shell script to do the following;
• Cron job runs every half an hour 7 days a week which calls this shell script.
• Shell script runs and tries to find "top two" f60webmx processes (form sessions) using over 95% cpu with 2 minutes interval.
• If no process is found or CPU% is less than 95%, it exits and does nothing.
• If top process is found, it searches for its DB session using apps login (with hidden apps password file - /home/applmgr/.pwd).
a. If DB session is NOT found (which means form process is hung), it kills the process from unix and emails results to <[email protected]>
b. If DB session is found, it waits for 2 hours so that form process times automatically via form session timeout setting.
It also emails the SQL to check the DB session for that form process.
c. If DB session is found and it does not timeout after 2 hours,
it kills the process from unix (which in turn kills the DB session). Output is emailed.
This are the files required for this;
1. Cron job which calls the shell script looks like this;
# Kill form runaway process, using over 95% cpu having no DB session or DB session for > 2hrs
00,30 * * * * /home/applmgr/forms_runaway.sh 2>&1
2. SQL that this script calls is /home/applmgr/frm_runaway.sql and looks like;
set head off
set verify off
set feedback off
set pagesize 0
define form_client_PID = &1
select count(*) from v$session s , v$process p, FND_FORM_SESSIONS_V f where S.AUDSID=f.audsid and p.addr=s.paddr and s.process='&form_client_PID';
3. Actual shell script is /home/applmgr/forms_runaway.sh and looks like;
# Author : Amandeep Singh
# Description : Kills runaway form processes using more than 95% cpu
# and Form Session with no DB session or DB session > 2hrs
# Dated : 11-April-2012
#!/bin/bash
. /home/applmgr/.bash_profile
PWD=`cat ~/.pwd`
export PWD
echo "`date`">/tmp/runaway_forms.log
echo "----------------------------------">>/tmp/runaway_forms.log
VAR1=`top -b -u applmgr -n 1|grep f60webmx|grep -v sh|grep -v awk|grep -v top|sort -nrk9|head -2|sed 's/^[ \t]*//;s/[ \t]*$//'| awk '{ if ($9 > 95 && $12 = "f60webmx") print $1 " "$9 " "$11 " "$12; }'`
PID1=`echo $VAR1|awk '{print $1}'`
CPU1=`echo $VAR1|awk '{print $2}'`
TIME1=`echo $VAR1|awk '{print $3}'`
PROG1=`echo $VAR1|awk '{print $4}'`
PID_1=`echo $VAR1|awk '{print $5}'`
CPU_1=`echo $VAR1|awk '{print $6}'`
TIME_1=`echo $VAR1|awk '{print $7}'`
PROG_1=`echo $VAR1|awk '{print $8}'`
echo "PID1="$PID1", CPU%="$CPU1", Running Time="$TIME1", Program="$PROG1>>/tmp/runaway_forms.log
echo "PID_1="$PID_1", CPU%="$CPU_1", Running Time="$TIME_1", Program="$PROG_1>>/tmp/runaway_forms.log
echo " ">>/tmp/runaway_forms.log
sleep 120
echo "`date`">>/tmp/runaway_forms.log
echo "----------------------------------">>/tmp/runaway_forms.log
VAR2=`top -b -u applmgr -n 1|grep f60webmx|grep -v sh|grep -v awk|grep -v top|sort -nrk9|head -2|sed 's/^[ \t]*//;s/[ \t]*$//'| awk '{ if ($9 > 95 && $12 = "f60webmx") print $1 " "$9 " "$11 " "$12; }'`
PID2=`echo $VAR2|awk '{print $1}'`
CPU2=`echo $VAR2|awk '{print $2}'`
TIME2=`echo $VAR2|awk '{print $3}'`
PROG2=`echo $VAR2|awk '{print $4}'`
PID_2=`echo $VAR2|awk '{print $5}'`
CPU_2=`echo $VAR2|awk '{print $6}'`
TIME_2=`echo $VAR2|awk '{print $7}'`
PROG_2=`echo $VAR2|awk '{print $8}'`
HRS=`echo $TIME1|cut -d: -f1`
exprHRS=`expr "$HRS"`
echo "PID2="$PID2", CPU%="$CPU2", Running Time="$TIME2", Program="$PROG2>>/tmp/runaway_forms.log
echo "PID_2="$PID_2", CPU%="$CPU_2", Running Time="$TIME_2", Program="$PROG_2>>/tmp/runaway_forms.log
echo " ">>/tmp/runaway_forms.log
# If PID1 or PID2 is NULL
if [ -z ${PID1} ] || [ -z ${PID2} ]
then
echo "no top processes found. Either PID is NULL OR CPU% is less than 95%. Exiting...">>/tmp/runaway_forms.log
elif
# If PID1 is equal to PID2 or PID1=PID_2 or PID_1=PID2 or PID_1=PID_2
[ ${PID1} -eq ${PID2} ] || [ ${PID1} -eq ${PID_2} ] || [ ${PID_1} -eq ${PID2} ] || [ ${PID_1} -eq ${PID_2} ];
then
DB_SESSION=`$ORACLE_HOME/bin/sqlplus -S apps/$PWD @/home/applmgr/frm_runaway.sql $PID1 << EOF
EOF`
echo " ">>/tmp/runaway_forms.log
echo "DB_SESSION ="$DB_SESSION >>/tmp/runaway_forms.log
# if no DB session found for PID
if [ $DB_SESSION -eq 0 ] then
echo " ">>/tmp/runaway_forms.log
echo "Killed Following Runaway Forms Process:">>/tmp/runaway_forms.log
echo "-------------------------------------------------------------------">>/tmp/runaway_forms.log
echo "PID="$PID1", CPU%="$CPU1", Running Time="$TIME1", Program="$PROG1>>/tmp/runaway_forms.log
kill -9 $PID1
#Email the output
mailx -s "Killed: `hostname -a` Runaway Form Processes" [email protected] </tmp/runaway_forms.log
cat /tmp/runaway_forms.log
else
# If DB session exists for PID
if [ ${exprHRS} -gt 120 ]; then
echo $DB_SESSION "of Database sessions exist for this forms process-PID="$PID1". But its running for more than 2 hours. ">>/tmp/runaway_forms.log
echo "Process running time is "$exprHRS" minutes.">>/tmp/runaway_forms.log
echo "Killed Following Runaway Forms Process:">>/tmp/runaway_forms.log
echo "-------------------------------------------------------------------">>/tmp/runaway_forms.log
echo "PID="$PID1", CPU%="$CPU1", Running Time="$TIME1", Program="$PROG1>>/tmp/runaway_forms.log
kill -9 $PID1
#Email the output
mailx -s "`hostname -a`: Runaway Form Processes" [email protected] </tmp/runaway_forms.log
cat /tmp/runaway_forms.log
else
echo "Process running time is "$exprHRS" minutes.">>/tmp/runaway_forms.log
echo $DB_SESSION "of Database sessions exist for PID="$PID1" and is less than 2 hours old. Not killing...">>/tmp/runaway_forms.log
echo "For more details on this PID, run following SQL query;">>/tmp/runaway_forms.log
echo "-----------------------------------------------------------------------">>/tmp/runaway_forms.log
echo "set pages 9999 lines 150">>/tmp/runaway_forms.log
echo "select f.user_form_name, f.user_name, p.spid DB_OS_ID , s.process client_os_id,, s.audsid, f.PROCESS_SPID Forms_SPID,">>/tmp/runaway_forms.log
echo "to_char(s.logon_time,'DD-Mon-YY hh:mi:ss'), s.seconds_in_wait">>/tmp/runaway_forms.log
echo "from v\$session s , v\$process p, FND_FORM_SESSIONS_V f">>/tmp/runaway_forms.log
echo "where S.AUDSID=f.audsid and p.addr=s.paddr and s.process='"$PID1"' order by p.spid;">>/tmp/runaway_forms.log
mailx -s "`hostname -a`: Runaway Form Processes" [email protected] </tmp/runaway_forms.log
cat /tmp/runaway_forms.log
fi
fi
else
#if PID1 and PID2 are not equal or CPU% is less than 95%.
echo "No unique CPU hogging form processes found. Exiting...">>/tmp/runaway_forms.log
cat /tmp/runaway_forms.log
fi
If you have the same problem with some other unix and DB processes, the script can be easily modified and used.
But use this with thorough testing first (by commenting out <kill -9 $PID1> lines.
Good luck.
Edited by: R12_AppsDBA on 19/04/2012 13:10Thanks for sharing the script!
Hussein -
Syslogd process uses all available cpu & console app won't run.
I have a Mac Mini (G4 power PC) running 10.5.5. Just recently after several minutes the system never wakes. It just shows the SBBOD. All I can do is hold down the power button and reboot. When the system reboots, using the activity monitor, I see that the process named syslogd uses all available cpu. I can still do things, but the cpu is saturated.
I took a snapshot of the syslogd process, and I can post it here if anyone thinks it might help.
If I activate the console application, the window comes up then hangs with the SBBOD.
The syslogd process uses all available cpu right after reboot, and does so regardless of which user (including root) is logged in. Attempting to kill the syslogd process with the activity monitor does nothingThanks! It took a long time for the disk utility to fix the permissions, but as soon as it did, the logger process calmed down. Looking at the log file now, I see it was my McAfee virus scan causing the logger to flip-out.
I'm now looking for a new MAC anti-virus program. -
Fuser - identify processes using a file or file structure
How can I see processes using a filesystem?
At work (solaris) we have fuser. I have no clue how to do this in Mac OS X.
lsof is great but not what I want.
Thanks
example:
sidewinder{26}eseale@5:55pm [/tmp] fuser /tmp
/tmp: 9000c 8905c
sidewinder{27}eseale@5:55pm [/tmp] cd
sidewinder{28}eseale@5:56pm [~] fuser /tmp
/tmp:
sidewinder{29}eseale@5:56pm [~]
old G5 Mac OS X (10.4.3)Hi Eric,
I agree with Andy; lsof is by far the most flexible tool for doing what you want. You gave an example that involved a specific directory to "watch" and only lsof will do that. However, for the sake of completeness, there is another command called fs_usage. That must be run as root and looks at the entire filesystem. You can't tell it which files to watch but you can tell it which processes to monitor. One hint: use a large terminal window or use the -w switch. In absence of -w, the information output depends on terminal window size.
Gary
~~~~
Nothing cures insomnia like the realization that it's
time to get up. -
RequestTimeoutException error while invoking a BPEL process using RMI
Hi,
I am getting RequestTimeoutException error while invoking a BPEL process using this code:
Locator locator = LocatorFactory.createLocator(jndiProps);
String compositeDN = "default/"+processName+"!1.0";
Composite composite = locator.lookupComposite(compositeDN);
String serviceName = "client";
Service deliveryService = composite.getService(serviceName);
NormalizedMessage nm = new NormalizedMessageImpl();
nm.getPayload().put("payload", requestXml);
NormalizedMessage res = deliveryService.request("process", nm);
responseMap = res.getPayload();
The error stack trace is
weblogic.rmi.extensions.RequestTimeoutException: RJVM response from 'weblogic.rjvm.RJVMImpl@604f2d14 - id: '-361032376059206
2776S:10.67.232.164:[8001,-1,-1,-1,-1,-1,-1]:emaar_domain:soa_server1' connect time: 'Mon Jan 18 11:34:41 GST 2010'' for 'executeServiceMethod
(Loracle.soa.management.CompositeDN;Ljava.lang.String;Ljava.lang.String;[Ljava.lang.Object;) 'timed out after: 60000ms.
oracle.fabric.common.FabricInvocationException: weblogic.rmi.extensions.RequestTimeoutException: RJVM response from 'weblogic.rjvm.RJVMImpl@60
4f2d14 - id: '-3610323760592062776S:10.67.232.164:[8001,-1,-1,-1,-1,-1,-1]:emaar_domain:soa_server1' connect time: 'Mon Jan 18 11:34:41 GST 20
10'' for 'executeServiceMethod(Loracle.soa.management.CompositeDN;Ljava.lang.String;Ljava.lang.String;[Ljava.lang.Object;) 'timed out after: 6
0000ms.
at oracle.soa.management.internal.facade.ServiceImpl.request(ServiceImpl.java:135)
at com.gss.common.bo.BpelUtil.invokeBPELProcess(BpelUtil.java:81)
To add to it the BPEL process is executing successfuly and RMI call timeout is happening.
Can I know how to increase the related timeout value?Have got the same problem. Scenario at my end is little different though.
I am trying to invoke a BPEL process from an ESB Service.
I am trying to look into it..
However, would be grateful, if someone can give some insight into this since many are running into this issue without being able to fix.
Ashish. -
Hi,
Please provide an overview of AP payment run process.
Thanks,
TeoHi,
APP ( T.code F110) is used to make payments enmasse for one or more vendors/customers.
We can also group vendors/customers for more than 1 co.code for payments.
The entore config for APP is done in capsule T.code FBZP.
Here are the steps:
1. Set up paying and sending co.codes( In case of cRoss co. payments paying and sending co.codes will ahve to be different)
2.Set up a payment method for country and co.code 1 each for outgoing and incoming payments.
3.Define house banks and set up bank accounts for payment method with relative ranking.
4.In F110 :
define the parameters like co,code;vendors etc
craete and edit a payment proposal where you can select the open items to be paid
create and run a payment run
Hope this helps.
I would also recommend to go thru SAP help and also search this forum for further notes and specific queries in F110.
Pls assign points if this info was helpful.
Thanks,
Vamsi -
I don't use Firefox now because of this running problem. It started about a month ago. So when I access the task manager, Firefox does not show up in the running processes. Because of this, I can't end the task. I got tired and fed up of rebooting my computer just to use Firefox, so I just switched to IE8, and Opera and Google Chrome. I prefered Firefox but it also runs so so sooooo slowly now. IE is much much faster, as are the other browsers now. Once upon a time, I bragged to everyone about how fast Firefox used to be, where now I admit I don't use it because it's so slow now and it won't run anyway.
See:
* http://kb.mozillazine.org/Recovering_a_missing_profile
* http://kb.mozillazine.org/Profile_in_use -
GR/IR expenses not affected with the settlement rule run process in the GL
<i><b>Please neglect by previous post with the same title</b></i>
There is a problem I face while running the settlement rule process related to internal orders on the GR/IR expenses.
According to the internal order settlement rule every expense associated to an Internal order no. whether its an account payable or manual journal accounts it should be settled (distributed) on the cost centers specified in each internal order after the monthly settlement run process is done through T.Code "KO8G", and this actually happens on the entries that are booked manually through T.Code "FB50", but the GR/IR entries is the biggest problem, it didn't reflect the settlement rule distributions in the GL it just gives me the original transaction once its was automatically created through T.Code "MIGO" they are only allocated to a one profit center with no cost center and without being distributed to a multiple cost centers according to the distribution strategy.
After a long search I found that the cost center distribution occurred only on a secondary none GL account named A&P Settlement (720010), all GR/IR expenses was settled correctly only on this account not through the ordinary GL accounts (e.g. Gifts, printed materials) and of course the correct distribution didn't appear in the GL,
So is there a transaction or any way to allocate the GR/IR expenses to there correct cost centers with the correct cost element in the GL?
Is there anything to do with the GR/IR calculation that depends on quantity base not value base?
<i><b>The Process as follows:</b></i>
(<b>1) Creating Internal order with a settlement rule (E.g. Cost center 1 (50%) Cost center 2 (50%)</b>
<b>2) Creating a purchase order associated to an internal order</b>
<b>3) The Goods received and creating the GR transaction T.Code "MIGO"</b>
Acc/DR Expenses accounts
Acc/CR GI/IR Account 400301
Profit enter ###### (eg. 111177)
Cost Center <blank>
Internal order no. ####### (e.g. 9810512)
<b>
4) Closing the GR/IR accounts when receiving the invoice T.Code "MIRO"</b>
<b>When we receive vendor invoice:</b>
Acc/Dr GI/IR Account 400301
Acc/Cr Vendor Account
Profit enter ###### (eg. 111177)
Cost Center <blank>
Internal order no. ####### (e.g. 9810512)
<b>5) Performing the Internal order settlement rule run process</b>
<b>(N.B.</b> By entering the report of the cost center (Actual/Plan/ Variance) T.Code S_ALR_87013611
I found that GR/IR expenses was not charged on the concerned cost centers as shown in the GL <b>)</b>
<b>Your Reply is highly appreciated</b>Thanks for your kind reply,
But is there a way solve this problem?
And what is the use of leaving a field in the account assignment tab for an internal order while creating a PO and it will not take advantage of the settlement rule????????
And as you know the internal order settlement is a way to create a multiple account assignment
Can we solve the problem by making an automatic fake transaction that reverse the value of the GR/IR and creating another transaction can apply on it the settlement rule??
You know that settlement rule process is one of the best features in the SAP system it save time and effort to make distributions manually -
A workaround was suggested by a member of the community to turn off both hardware and Flash acceleration. It worked fine (no crashes since), but runs very slowly. In particular, takes five seconds to exit and is often still listed as a running process. Very slow in connecting to Web pages, and very slow loading them because of the graphics. Very slow in loading video. I expected slower responses, but this is REALLY slow. I'm running 64-bit Windows 7 and an Nvidia GE Force 7800 graphics card with all the drivers updated and the plugins for Firefox mostly set on "ask to activate". Should I expect this much reduction in performance when the workaround I mentioned was put into place? If so, it's half a loaf at best. The only thing questionable is that I have two Youtube downloaders that I am trying, but I made the assumption that these were only applied when you downloaded something from Youtube.
In case you are using "Clear history when Firefox closes": do not clear the Cookies
If you clear cookies then Firefox will also try to remove cookies created by plugins and that requires to start plugin-container processes that can slow down closing Firefox.
Instead let the cookies expire when Firefox is closed to make them session cookies.
*Firefox/Tools > Options > Privacy > "Use custom settings for history" > Cookies: Keep until: "I close Firefox" -
Monitoring a Process using Runtime.exce()
Hi,
In my Program, I'm using the
new BufferedReader(new InputStreamReader(Runtime.getRuntime() .exec("ps -ef | grep xmlfeed").getInputStream()));
The above statement is not returning any inputstream to the BuffredReader.
When I gave the command as "PWD", it's returning the lines as expected.
But it's not working even for "PS" command also.I'm running this in AIX machine.
Any Ideas,Please help....
Edited by: haijdp on Dec 21, 2007 1:11 AMHello! And sorry I didn't reply earlier. I hope the Original Poster will find revisit this thread and it helps him.
From your post I assumed that you were not a student trying to create some homework. That's why I felt free to simply code a solution and submit the code here. But first some remarks:
I don't think that your code can work. Runtime.exec expects an array of type String, where the first element is the command and subsequent elements are a command line option each. I don't think you can use the pipe and call several commands using Runtime.exec, but that's just a kind of guess. YMMV.
Running external Processes in Java is a bit complicated. Basically,
* It's good to run the process in it's own thread. That way the main program can continue without getting stuck.
* To extract stdout and stderr of your target process you must run two threads, one for stderr and one for stdout. Both threads extract the characters of their respective streams in a loop that runs inside the thread. Again, that way we avoid deadlocks, program getting stuck etc.
This explanation is terrible, I know - I think a slice of source code speaks louder than words. I have attached five java files which together make a little process runner which extracts stdout and stderr in a safe manner. To run:
* Cut'n paste them into five text files, one per class.
* Save the each text file as {contained-class-name}.java
* Compile the stuff
* Run RunnerDemo (When I ran it, I got a directory listing printed on the console)
Explanation sounds a bit sloppy, but I did it under the assumption that you are a seasoned java pro, so it should not pose any problems. Since you seem to be a different OS than I (AIX, I run Linux), the command may or may not work. Try other commands. For example, in the RunnerDemo class you could set the cmd field to this:
String [] cmd =
"ps",
"-A",
"-H"
};This would give you a process listing (works on Linux).
By the way, commands are passed as array. See Java documentation for java.lang.Runtime.exec (String []) for explanation of this array.
One problem I see in your command is that the output of ps is piped to some other program. Sorry, I don't know whether my code could achieve this. All it can do is to rum one single command with command line options. But you should be able to adjust the given example, so it supports piping to another program.
If you have any further questions, please don't hesitate to ask!
Class: RunnerDemo
* RunnerDemo.java
* Demo for the process runner
package rtimeexec;
public class RunnerDemo
public static void main (String [] args)
String [] cmd =
"ls",
"-a",
"-l"
ProcessRunner runner;
String stdOutStr;
String stdErrStr;
runner = new ProcessRunner (cmd);
runner.start ();
runner.BlockUntilFinished ();
stdOutStr = runner.GetStdOutText ();
stdErrStr = runner.GetStdErrText ();
System.out.println ("Process result, ls -a -l");
System.out.println ("-----------------------------------------------------------------------");
System.out.println ("Stdout:");
System.out.println ("-----------------------------------------------------------------------");
System.out.println (stdOutStr);
System.out.println ();
System.out.println ("-----------------------------------------------------------------------");
System.out.println ("Stderr:");
System.out.println ("-----------------------------------------------------------------------");
System.out.println (stdErrStr);
Class: ProcessRunner
package rtimeexec;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
* Runs a system process and extracts stdout and stderr of that process.
* Process will run in its own thread, so that the caller can simply continue
* with less of a chance to get locked down. Caller can invoke the {@link BlockUntilFinished}
* method after starting this thread. This method blocks until the thread is finished,
* i.e. the process has finished.
* Unfortunately, we haven't implemented any facility to stream characters to
* stdin of the process called. If that facility would exist we could refactor
* the classes and realize some sort of piping facility, as it's possible in
* Linux, for example.
* Example on how to run a process:
* <pre>
* String [] cmd = {"ps", "-AH"};
* String sOut;
* String sErr;
* ProcessRunner runner;
* runner = new ProcessRunner (cmd);
* runner.start ();
* runner.BlockUntilFinished ();
* sOut = runner.GetStdOutText ();
* sErr = runner.GetStdErrText ();
* System.out.println ("Stdout:");
* System.out.println (sOut);
* System.out.println ("------------------------------------------------------");
* System.out.println ("Stderr:");
* System.out.println (sErr);
* </pre>
public class ProcessRunner extends Thread
private String [] command;
private int execResult;
private String stdOutText;
private String stdErrText;
private boolean isFinished;
public ProcessRunner (String [] cmd)
command = cmd;
execResult = 0;
stdOutText = null;
stdErrText = null;
isFinished = false;
public int GetResult ()
return execResult;
public String GetStdOutText ()
return stdOutText;
public String GetStdErrText ()
return stdErrText;
public boolean IsFinished ()
return isFinished;
public void BlockUntilFinished ()
while (! isFinished)
try {Thread.sleep (250);} catch (InterruptedException e) {}
public void run ()
Process proc;
Runtime rt;
InputStream stdOut;
InputStream stdErr;
CharStream stdOutEx;
CharStream stdErrEx;
int res;
isFinished = false;
try
res = 0;
rt = Runtime.getRuntime ; ();
proc = rt.exec ; (command);
stdOut = proc.getInputStream ; ();
stdErr = proc.getErrorStream ; ();
stdOutEx = new CharStream (stdOut);
stdErrEx = new CharStream (stdErr);
stdOutEx.start ();
stdErrEx.start ();
try {res = proc.waitFor ();} catch (InterruptedException e) {}
// Process has finished; now wait until any buffers are empty.
stdOutEx.BlockUntilFinished ();
stdErrEx.BlockUntilFinished ();
stdOutText = stdOutEx.GetResult ();
stdErrText = stdErrEx.GetResult ();
execResult = res;
catch (IOException e)
isFinished = true;
throw new ExtractionException (e.getLocalizedMessage());
isFinished = true;
Class: CharStream
package rtimeexec;
import java.io.IOException;
import java.io.InputStream;
* A Character extractor. Extracts characters from a stream and puts them
* into a String. To protect from memory overflow we put a limit in place.
* When storage demads exceed that limit, an exception is thrown.
public class CharStream extends Thread
private static final int maxChunkLen = 8192;
private static final int maxStorageSize = 512 * 1024; // 512 KBytes
private InputStream sourceStream;
private StringBuffer extracted;
private boolean isFinished;
public CharStream (InputStream istream)
sourceStream = istream;
extracted = new StringBuffer ();
isFinished = false;
public String GetResult ()
String ret;
ret = extracted.toString ();
return ret;
public void BlockUntilFinished ()
while (! isFinished)
SleepThread (250);
public void run ()
byte [] buffer;
int nBytesRead;
byte b;
char c;
int iChar;
int nCharsTotal;
boolean isEOF;
isEOF = false;
nCharsTotal = 0;
isFinished = false;
while (! isEOF)
try
buffer = new byte [maxChunkLen];
nBytesRead = sourceStream.read (buffer);
if (nBytesRead >= 1)
{ // much faster stream extraction method than when we use
// BufferedReader(new InputStreamReader(sourceStream)).
for (iChar = 0; iChar < nBytesRead; iChar++)
nCharsTotal++;
if (nCharsTotal > maxStorageSize)
throw new StoreFullException
"Storage limit exceeded (" + Integer.toString (maxChunkLen) + "Bytes)"
b = buffer [iChar];
c = (char) b;
extracted.append (c);
else if (nBytesRead <= -1)
isEOF = true;
catch (IOException e)
isFinished = true;
throw new ExtractionException (e.getLocalizedMessage());
SleepThread (250);
isFinished = true;
private void SleepThread (int mSec)
try
Thread.sleep (mSec);
catch (InterruptedException e)
Class: StoreFullException
package rtimeexec;
* Exception that gets thrown when a storage container is full.
public class StoreFullException extends RuntimeException
private static final long serialVersionUID = - 4996246591135389009L;
public StoreFullException (String message)
super (message);
Class: ExtractionException
package rtimeexec;
* Thrown when there was some problem during stream extraction.
public class ExtractionException extends RuntimeException
private static final long serialVersionUID = - 6124525536783450209L;
public ExtractionException (String message)
super (message);
} -
Error While Deploying the BPEL Process using obant script
Hi All,
I am getting the following error while deploying the BPEL Process using obant script. we are using the BPEL Version 10.1.2.0.2.Any information in this regard will be really helpful.
Buildfile: build.xml
main:
[bpelc] file:/home5102/dibyap/saravana/Test/CreditRatingService.wsdl
[bpelc] validating "/home5102/dibyap/saravana/Test/CreditRatingService.bpel" ...
BUILD FAILED
/home5102/dibyap/saravana/Test/build.xml:15: ORABPEL-01002
Domain directory not found.
The process cannot be deployed to domain "default" because the domain directory "/opt02/app/ESIT/oracle/esit10gR2iAS/BPEL10gR2/iAS/integration/orabpel/domains/default/deploy" cannot be found or cannot b
e written to.
Please check your -deploy option value; "default" must refer to a domain that has been installed locally on your machine.
Total time: 23 seconds
dibyap@ios5102_ESIBT:/home5102/dibyap/saravana/Test>
Thanks,
SaravanaIn 10.1.2.0.2 you need to create your own build.xml
I have found an example, it may be of some help. This does call a property file
cheers
James
<?xml version="1.0" ?>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Run cxant on this file to build, package and deploy the
ASB_EFT BPEL process
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<project name="ASB_EFT" default="main" basedir=".">
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Name of the domain the generated BPEL suitcase will be deployed to
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<property name="deploy" value="default" />
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
What version number should be used to tag the generated BPEL archive?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<property name="rev" value="1.0" />
<!-- BPEL Best Practices Properties -->
<!-- Defaults Properties for TARGET environments
# CHANGE THIS FILE TO REFLECT THE TARGET ENVIRONEMNT
# either dev, test, or prod.properties
-->
<property file="ebusd.properties"/>
<property name="env" value="${env.name}"/>
<property name="current.project.name" value="${project.name}"/>
<property name="target.project.name" value="${project.name}_${env}"/>
<property name="deployment.profile" value ="${env}.properties"/>
<property name="source.development.directory" location="${basedir}"/>
<property name="target.env.directory" location="${basedir}/deploy/${project.name}_${env}"/>
<property file="${deployment.profile}"/>
<property name="build.fileencoding" value="UTF-8"/>
<!-- Prints Environment
-->
<target name="print.env" description="Display environment settings">
<echo message="Base Directory: ${basedir}"/>
<echo message="Deployment Profile: ${deployment.profile}"/>
<echo message="target.env.directory: ${target.env.directory}"/>
<echo message="Deploy to Domain: ${deployToDomain}"/>
<echo/>
<echo message="os.name: ${os.name}"/>
<echo message="os.version: ${os.version}"/>
<echo message="os.arch: ${os.arch}"/>
<echo/>
<echo message="java.home: ${java.home}"/>
<echo message="java.vm.name: ${java.vm.name}"/>
<echo message="java.vm.vendor: ${java.vm.vendor}"/>
<echo message="java.vm.version: ${java.vm.version}"/>
<echo message="java.class.path: ${java.class.path}"/>
<echo/>
<echo message="env: ${env}"/>
<echo message="current.project.name: ${current.project.name}"/>
<echo message="target.project.name: ${target.project.name}"/>
<echo message="server.name: ${server.name}"/>
</target>
<!--
Copies the current directory structure along with
all the file into the target.env.directory and
change the name of the project
-->
<target name="create.environment">
<copy todir="${target.env.directory}">
<fileset dir="${basedir}"/>
<filterset begintoken="@" endtoken="@">
<filtersfile file="${deployment.profile}"/>
</filterset>
</copy>
<move file="${target.env.directory}/${current.project.name}.jpr" tofile="${target.env.directory}/${target.project.name}.jpr"/>
</target>
<target name="main">
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
the bpelc task compiles and package BPEL processes into versioned BPEL
archives (bpel_...jar). See the "Programming BPEL" guide for more
information on the options of this task.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<bpelc input="${basedir}/bpel.xml" rev="${rev}" deploy="${deploy}" />
</target>
</project>
here is a property file
project.name=ASB_EFT
env.name=ebusd
deployToDomain=default
server.name=[server]
server.port=7788
ebusd\:7788=http://[server]:7788/
IntegrationMailAccount=OracleBPELTest
IntegrationMailAddress=[email]
IntegrationMailPassword=[password]
archivedir=[directory]
inbounddir=/[directory]
errordir=[directory]
outbounddir=[directory]
bpelpw=bpel
dbhost1=[dbserver]
dbhost2=[dbserver]
dbport=1523
dbservice=bpel
dbconnstr=jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=YES)(FAILOVER=YES)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=[server])(PORT=1523))(ADDRESS=(PROTOCOL=tcp)(HOST=[server])(PORT=1523)))(CONNECT_DATA=(SERVICE_NAME=ebusd)))
Maybe you are looking for
-
How do we move PKG from One d/b to another d/b?
Hi All, In general, i will creating all the packages in Dev environment and will send the pkg files to DBA team to deploy in QA environmnet. I would like to know, in general how do we move pkg's from one instance to another instance. Thanks, Anoo..
-
Stop JScrollPane Scrolling If Knob Is Not At Bottom
My problem appears quite simple. I have a non-editable JTextArea in a JScrollPane. When text is added to the text area I want the vertical JScrollBar to autoscroll only if the knob is at the bottom of the track. If the user has scrolled up (e.g. to s
-
Can't install Premiere Elements 4
I've tried at least five times to install PE4 to my laptop to no avail. Each time, the same error occurs and the whole thing backtracks. I've tried copying the DVD to the hard drive and installing dirrectly, I've tried defragmenting my PC, I've tri
-
Apple Configurator and iPad Set issue
Howdy Folks, I have a dilemma. I work at a Business School and we have 30 ipads managed (supervised) by Apple Configurator via a Mac Book Pro. I had (still have) paid apps on this class set. Unbeknownst to me, I upgraded the Macbook Pro to Mavericks
-
PXI-1052 not detecting SCXI chassis
Full disclosure: I've submitted a support request on this too, but knowing that it may take some time to go through I thought I'd ping the discussion boards for any ideas people here might have as well. I have a PXI-1052 PXI/SCXI combo chassis with