Dtrace script to capture time spent executing shell commands
Hi all,
My 1st dtrace script to capture time spent by oracle executing various commands, is this correct? It seems to work...
#!/usr/bin/sh
/usr/sbin/dtrace -n '
#pragma D option quiet
#pragma D option switchrate=10
syscall::exec:entry, syscall::exece:entry
/uid == 900/
self->t = timestamp;
syscall::exec:return, syscall::exece:return
/uid == 900/
printf("%-20d %s\n", (timestamp - self->t), curpsinfo->pr_psargs);
thanks for any feedback.
Regards
Stuart
Hi Stuart -
Just to be clear, you wanted to know the time Oracle takes to exec() a command, or to actually run a short-lived process from start to finish? The script accomplishes the former, but I'm curious why you'd want that particular value.
Michael
Similar Messages
-
Execute shell command from Java
Hi all,
I need some idea for executing shell script from Java programe.
For example i have start.sh script in /tmp/start.sh folder of unix server.
I want to execute shell script from local java code.
Any idea on this.Hi,
Read the following articles/posts, maybe this could help you:
How to execute shell command from Java
Running system commands in Java applications | java exec example | alvinalexander.com
Want to invoke a linux shell command from Java - Stack Overflow -
Executing shell commands from Java.
I want to execute shell commands in Java using the Runtime.exec( String ) method.
The method works fine under Linux OS, but under Windows '98 the method didn't work at all!
For example the following call: Runtime.exec( "dir" ) throws an exception showing that the command was not completed. If I replace dir with ls under Linux all is good. What is the problem with the Microsoft Windows '98 ? Is there any solution at my problem ?!
thx in advance!hey JSarmis,
You can help me... "ls" doesn't work for me on linux.. using Runtime.exec, some commands work, others don't... you may hold the key to what i need? How did u get "ls" to work? -
How to Execute shell commands in OSB
Team,
My Requirement:
I have two sftp servers name ServerA and ServerB. Need to copy files from ServerA and place it on ServerB and change the file permissions to 777 after placing the files.
The user i am connecting to ServerB has the access to override file permissions.
Steps
1. With help of FTP adapter in OSB I am reading files from ServerA and writing on to ServerB -- Completed and is working.
2. How to override file permissions after placing the file ????? -- Yet to implement.
Please suggest me how can i accomodate 2nd step.
Thanks,
Suman V.If by "execute shell commands" you mean actually
running a shell process (as opposed to just forking
and executing specified programs) then I'd advise
against it. The last thing you want is for the
clients to be running arbitrary commands on the
server. You don't want to make it possible for the
client to run "rm -fr /" on your server.Right.
I was assuming (perhaps with more optimism than is really warranted) that the OP was going to be in complete control of which commands were executed--that there'd be a small, fixed set in response to certain user actions. -
Execute Shell command in Panel SDK Mac
Hi,
I´d like to execute the following task with a Panel:
• render the active sequence
• when finished send the output video file to another application using Apple Script
The Panel SDK Examples are a great start. So the missing part is, how can I send a shell command that executes an AppleScript?
In the ExtendScript Toolkit I found a function that looks promising. But executing this script only pops up an alert window saying "failed". Here´s the code:
var test = UIAutomationSupport.helper.executeConsoleCommand("ls -l");
alert(test);
So does Premiere has an equivalent function like system.callSystem() in After Effects?
Thanks,
ThomasBruce, thanks for your support!
For those who are interested what bbb_999 refers to, here is how you can execute a shell command (in the example I use "osascript" to launch an AppleScript file):
In your html file you simply write these simple lines of code
<script type="text/javascript">
function executeShellCommand(){
var result = window.cep.process.createProcess('/usr/bin/osascript','/Users/myUserName/Desktop/test.scp t');
alert(result.data+" "+result.err);
</script>
The first argument of createProcess() is the path to the shell tool.
That´s all. Hope this helps others.
Thomas -
Execute shell command from within pascal code
Hello there,
I am trying to execute a shell command from within my pascal code. I use XCode together with FreePascal. I have tried something like:
exec ('program', 'options');
adding the 'Dos' unit to the Uses clause of my program.
Thus, e.g.,
exec ('mkdir', '/A')
to create a directory with the name 'A'.
However, my attempts so far were unsuccessful. Can anyone help me on this, and perhaps provide a simple example of how to do it right?
Thank you in advance,
ShaneIn the mean time, I found the problem myself. I am just posting the solution here for anyone that is interested. My original solution was correct, in that the 'Dos' Unit must be added, and that the right command is 'exec'. There was however a problem with the correct path to the program that I wanted to invoke. In the shell, this program was accessible from anywhere. However, in the 'exec' command, the full path to the program must be given. Since I am not a Unix expert, I don't know the reason for this.
So, in summary, the solution is:
Uses Dos;
begin
exec ('full path to program', 'program options');
e.g.: exec ('/bin/sh', '/run.sh') to process the commands in the file /run.sh
end
Hope this may be of help to anyone else.
Shane
Mac OS X (10.3.9)
Mac OS X (10.3.9)
Mac OS X (10.3.9) -
hi
i waould like to know if any one can tell me how to execute a shell command or call an from within a class file.
i am required to write a program which creates a servlet file internally everytime it is run.
i want to know how to execute the shell command in java so that i can compile that file after creating the file from within the class file and not leave it to the user to do it.Runtime.getRuntime().exec("<your_command>");
-
Bash script run via cron not executing MYSQL command
I have a bash script which is run from a cron,
It is executing as I have it write to a log file which it does correctly.
I am wanting the bash script to restore a mysqldump file.
When I run the bash script manually the dump file gets loaded fine. But when I run it through the cron the mysql command appears to be ignored.
The mysqldump file is 54MB and I have checked to make sure that MYSQL is included in the global users path in /etc/profile
Does anyone know why this maybe??
Here is the bash file
#!/bin/bash
date >> /home/user/crons/crons.log
echo "Started loadbackup" >> /home/user/crons/crons.log
cd /home/user
dbuser=root
dbpass=password
dbname=databasename
filename=backup
mysql -hlocalhost -u"$dbuser" -p"$dbpass" "$dbname" < " >> /home/user/crons/crons.log
My crontab looks like
02 17 * * * /home/user/crons/loadbackup.sh
Many thanks
RichardHi Richard,
Have you tried redirecting the script output in the cron to see if an error is being reported?
I.e.
02 17 * * * /home/user/crons/loadbackup.sh > /tmp/loadbackup.log 2>&1 -
Executing shell commands in Java
Hi
I have managed to get my Java program to execute the 'who' command and read in the data from running that command. However, how can I run this command with the '-m' option. I thought it would be
Process proc = rt.exec("who -m");However when I run this, I get no data. Is there another way of running this command.
Many thanks
SamboThanks for the link, its actually the tutorial I looked at to start using the exec method.
try{
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec("who");
InputStream stderr = proc.getInputStream();
InputStreamReader isr = new InputStreamReader(stderr);
BufferedReader br = new BufferedReader(isr);
File file = new File("input.txt");
BufferedWriter out = new BufferedWriter(new FileWriter(file));
while ((line = br.readLine())!=null){
temp = line.split("\\s+");
for (int i = 0; i < temp.length; i++){
//System.out.println(temp);
This is my current code, and I can get an output from that. But as soon as I add a argument to the who command, it doesn't display anything. The who command displays the current users logged into a Linux system.
I have tried
Process proc = rt.exec("who -m");and
Process proc = rt.exec("who ", "-m");But no luck.
Maybe I have to specify it as another argument, but not to sure how to do that.
Again many thanks -
Hello,
i have a question about running external programs started by java.
i know this is possible and i also know how to, but i have a problem retrieving the output generated by the process.
there are a a few problems..
i need to run a sql script, i cannot use jdbc for this matter so i need to start SQLPlus the script demands some input parameters and if they are not yet given on the commandline it will ask for them during the execution of the script. this way i cannot run the execution in the background. i know i can send input afterwards but that just won't work.
another solution would be running the script in an external terminal like gnome-terminal or the doc command box, this solves my input parameter issue, but i cannot retrieve the output given by the programs.
is there a way to solve this problem or ..
Marc BanninkTake care of the standard input to the process!
Process
The created subprocess does not have its own terminal or console. All its standard io (i.e. stdin, stdout, stderr) operations will be redirected to the parent process through three streams (Process.getOutputStream(), Process.getInputStream(), Process.getErrorStream()). The parent process uses these streams to feed input to and get output from the subprocess. Because some native platforms only provide limited buffer size for standard input and output streams, failure to promptly write the input stream or read the output stream of the subprocess may cause the subprocess to block, and even deadlock. -
Communication between DTrace script and other commands
Hello,
Let's say you have a DTrace script running all time on your system. It monitors something ( some parameters, system calls, etc..).
If some condition is met (threshold exceeded for example) you would like a script / command to be called.
One way to do it would be: pipe the DTrace output to a "controller" script which checks it's input for some patterns (commands). The script could run appropriate commands when a pattern is found in input.
Is there any other more elegant/appropriate way ?
Thank you,
Vlad Grama.First of all, from Alan's post :
"You may want to be a bit careful about how you hand out those privileges, as you probably don't want users calling things like panic()."
Even with PRIV_DTRACE_KERNEL, a user cannot make destructive action calls that would require the '-w' command line option. But, they do have good visibility inside the kernel which may not necessarily be a good thing.
Secondly, from Vlad:
"You may go to a site and see some useful D scripts that would require PRIV_DTRACE_KERNEL.
You want to be sure that however bad the script content may be (willingly or not) you can run it on a production system without having to fear anything. "
I find it hard to believe that anyone will run completely untrusted content downloaded from a random site on the Internet on a production machine without testing or validating it first. If so, then DTrace is by far the least of your concerns. Granted, there could be times when a script looks like it may help you solve a problem, but D is so straightforward that even a quick glance will tell you if anything bad could happen (especially given that D already provides quite a bit protection for you by preventing accidental badness).
That being said, perhaps system() could get some sort of special treatment in a D stability report. It seems like a reasonable place for it since if you call system(), DTrace has no way to validate that the targer executable exists, is runnable, and is stable for the current platform. So perhaps, if system() (and eventually some sort of similar interfaces) exist in a D script, then a stability report will flag their use for you - this saves having to grep or similar. Also, then you could execute "untrusted" D with the appropriate '-x' flag to prevent their use all together. Seems appropriate to me (consider it a formal RFE).
So as D scripts become more popular to the rest of the world, I assume we will see some digital signatures showing up for posted recipes. You always check the signature of Apache when you download it so a quick check when you get a new cookbook seems reasonable.
Thanks,
Jarod -
ABAP program to execute shell script !
Hi Friends,
I have created some shell scripts and need to be executed through ABAP prog in order to automate some process. can any one tell me how to execute these scripts through ABAP program? i know that we have to setup those scripts through SM69 but i dont have clear idea about this.can some one tell me step by step how to do this. ur help will be awarded in terms of points.
ThanksDefine the scripts as commands in SM69. Test them in SM69/SM49 to see if they work.
Next, go to SE37, run FM SXPG_COMMAND_EXECUTE, and specify your command there. Does it work?
If yes, you can just code a 'CALL FUNCTION' to this FM in your ABAP program, and you are ready to invoke your script from your ABAP.
For a list of functions that work with commands (defined in SM69), do a drop-down on SXPG_COMMAND* in SE37.
A sample code may look like this
concatenate zsys_id z_infile z_extfile into parm
separated by space.
*C_FTP_COMMAND is a script defined in SM49
CALL FUNCTION 'SXPG_COMMAND_EXECUTE'
EXPORTING
COMMANDNAME = C_FTP_COMMAND
ADDITIONAL_PARAMETERS = parm
OPERATINGSYSTEM = SY-OPSYS
TABLES
EXEC_PROTOCOL = PROT
EXCEPTIONS
NO_PERMISSION = 1
COMMAND_NOT_FOUND = 2
PARAMETERS_TOO_LONG = 3
SECURITY_RISK = 4
WRONG_CHECK_CALL_INTERFACE = 5
PROGRAM_START_ERROR = 6
PROGRAM_TERMINATION_ERROR = 7
X_ERROR = 8
PARAMETER_EXPECTED = 9
TOO_MANY_PARAMETERS = 10
ILLEGAL_COMMAND = 11
WRONG_ASYNCHRONOUS_PARAMETERS = 12
CANT_ENQ_TBTCO_ENTRY = 13
JOBCOUNT_GENERATION_ERROR = 14
OTHERS = 15.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
else.
write: /, 'FTP Function module executed with no errors.'.
ENDIF. -
Host in forms 10g and execute shell script
Hi!
I have a little problem. When I transfer form to AS through SSH protocol I want to automatically generate form on AS wit h code:
declare
lv_server_dir vc2() := /folder1/folder2;
lv_file_name vc2():= a.fmb;
host(lv_server_dir||'/ftp_gen.sh '||lv_server_dir||' '||lv_file_name);
In file ftp_gen.sh is code:
export ORACLE_HOME=myOracleHome
export PATH=$PATH:$ORACLE_HOME/bin
export TNS_ADMIN=$ORACLE_HOME/network/admin
export SQLPATH=$ORACLE_HOME/dbs
export NLS_LANG=SLOVENIAN_SLOVENIA.EE8ISO8859P2
export DISPLAY=:2
cd $1
./gen.sh $3
When I execute this command on form nothing happens.
What could be wrong?
Thanx,
BojanHi Bojan,
Executing the HOST Command will execute in the Mid Tier and nothing will show up in the Client. (other than the form go into Blocking mode). Just check out whether the Operation you wanted to do in the Mid tier is done or not. (Here it looks like you are compiling a form. So, check out that the fmx is generated.)
Alternatively to check out the proper execution of the HOST command, you can generate a file in the Mid-tier (on successful execution of the shell script) and read the file using TEXT_IO and display a message to user.
HTH. -
Execute Shell Script through Demantra Workflow
Hi All ,
Can we execute shell script from Demantra Workflow ?
If yes where should we place the shell script file and wat should be the commandline command in the step .
We have the Demantra installed on a windows server and the workflow manager is on a linux server .
the batch file on the windows server can be executed through the secure shell from the linux server .
I am trying to achieve the same through thr demantra workflow
Appreciate any input on the same .
Thanks and regards
SuzyHi,
Shell script is not supported till Demantra 7.2.0.2 WF.
I have checked with Oracle team also and reply I got below for your reference:
QUESTION
*=========*
As per your details, shall we conclude like this:
*"only *.bat and *.exe files can be used in workflow. Demantra standard functionality doe*
*s not support shell script in workflow"*
ANSWER
*=======*
Hi ,
The Demantra standard functionality 7.2.0.2 does support shell script in workflow.
Thanks,
Asya
Please review the note#468071.1-Unable to Run EBS Workflows that Call EngineManager.exe in
You will find this note is referring to the Enhancement Request Bug 6644455-- ANALYTICAL ENGINE
NOT AVAILABLE ON UNIX/LINUX
But the enhancement bug exist and I hope it is fixed in Demantra 7.3.
Tks
MJ -
Executing shell script through PL/SQL
Hi,
I need some help regarding execution of shell script through Oracle PL/SQL.
I have a shell script present in /abc/xyz folder with name search.sh , Through a PL/SQL procedure I am creating a file to store the report data.
I want to execute /abc/xyz/search.sh from the PL/SQL procedure to delete all files created before 3 mins .
1. At first I took Java route and got following permissions granted for RECON user.
GRANT USER SYS java.io.FilePermission <<ALL FILES>> execute ENABLED 351
GRANT USER SYS java.lang.RuntimePermission readFileDescriptor * ENABLED 350
GRANT USER SYS java.lang.RuntimePermission writeFileDescriptor * ENABLED 349
2. Then I created a simple java class for execution of OS command as below
CREATE OR REPLACE AND COMPILE JAVA SOURCE NAMED "OSCommand" AS
import java.io.*;
import java.util.*;
public class OSCommand{
public static String Run(String Command){
try{
Process proc = Runtime.getRuntime().exec(Command);
int ext=proc.waitFor();
return ("0");
catch (Exception e){
System.out.println("Error running command: " + Command +
"\n" + e.getMessage());
return(e.getMessage());
3. And a wrapper function as below to use this class
create or replace
FUNCTION OSCommand_Run(Command IN STRING)
RETURN VARCHAR2 IS
LANGUAGE JAVA
NAME 'OSCommand.Run(java.lang.String) return int';
4. In my PL/SQL proceedure I am using following code to execute the command
v_Return := OSCommand_Run('/abc/xyz/search.sh');
to execute the shell script.
Proceedure executes without any error and generates a new csv file with report data , however shell script does not get executed and hence all csv files created earlier remain as it is in the folder.
Please help.Sven W. wrote:
What happens if you remove the catch exception block from your java command?
I asume you still might have a permission issue. But it could be hidden from you, because of the exception is catched and printed into nirvana.Executed the wrapper function OSCOMMAND_RUN as below
DECLARE
v_Return VARCHAR2(2000);
BEGIN
v_Return := OSCOMMAND_RUN('/recon/html/invoice/search.sh' );
DBMS_OUTPUT.PUT_LINE('v_Return = ' || v_Return);
END;
And following is the result
v_Return = 0
Process exited.
In case of exception it would had printed the exception.
One more thing I noticed, even though I have taken following permissions
GRANT RECON SYS java.io.FilePermission /abc/* execute ENABLED 347
GRANT RECON SYS java.io.FilePermission /abc/xyz/* execute ENABLED 351
GRANT RECON SYS java.io.FilePermission <<ALL FILES>> execute ENABLED 352
GRANT RECON SYS java.lang.RuntimePermission readFileDescriptor * ENABLED 350
GRANT RECON SYS java.lang.RuntimePermission writeFileDescriptor * ENABLED 349
When I create a new search.sh in /abc dir I get following error
v_Return = the Permission (java.io.FilePermission /abc/search.sh execute) has not been granted to RECON. The PL/SQL to grant this is dbms_java.grant_permission( 'RECON', 'SYS:java.io.FilePermission', '/abc/search.sh', 'execute' )
Edited by: 960702 on Sep 25, 2012 10:34 AM
Maybe you are looking for
-
I know there's so much questions about audio when rendering but I haven't found my answer It works perfect when I rendering a comp without audio but when I turn the audio on in render settings and click on render it doesn't proceed rendering, somehow
-
Which is best Adobe product for me
I have recently purchased a touch screen desk top computer. On my old system I was using Adobe Photoshop starter edition 3.2. What would be the best Adobe photoshop for me to purchase for home use & to be able to transfer my existing photos to?
-
Need Info on FG_CA in ERMS and TREX
Hi, Can anyone help me in knowing how FG_CA works and how is input fed to TREX ?The question is in connection to TREX and ERMS. Regards, Niloufer Edited by: Niloufer123 on Aug 25, 2009 11:04 AM
-
i have two table master detail, for instance dept and emp the situtation is this. i need the recod of those departements who has clerks in specific time hired. i wrote following query. but due to millions of records in two tables its very very slow.
-
I Tunes funktioniert nicht mehr
Hallo, vor ein paar Tagen habe ich Windows 8.1 installiert. Danach ließ sich I tunes nicht mehr starten. Entspr. Feherhinweis "I tunes funktioniert nicht mehr" erschien. Ich habe darauf hin I tunes deinstalliert, sämtliche temp-Dateien gelöscht und s