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,
    Thomas

    Bruce, 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,
    Shane

    In 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)

  • Executing shell command

    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
    Richard

    Hi 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
    Sambo

    Thanks 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

  • Execute shell command

    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 Bannink

    Take 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.
    Thanks

    Define 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,
    Bojan

    Hi 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
    Suzy

    Hi,
    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

  • Audio Problem AGAIN!

    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

  • Query result is very slow

    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